【问题标题】:How to write single quotes inside a double quotes in string inputted Html Elements如何在字符串输入的 Html 元素中的双引号内写单引号
【发布时间】:2015-05-20 00:12:02
【问题描述】:
string mystring == "<input class=\"success\" type=\"button\" id=\"Delegate_New_btn\" value=\"New\" onclick=\"location.href="+mylocation+"'/>";

我有一个像上面这样的字符串。

问题是当我将它的 innerHTML 转换为如下所示的 div 时,它会显示不正确的语法错误:

document.getElementById("id").innerHTML=mystring;

我需要的是:

<input type="button" value"somevalue" onclick="location.href='mylocationurl'"/>

我不知道如何将这个单引号包含在双引号中。我试过反斜杠方法,但我也没有实现。

注意:我已经在我的服务器端 C# 中定义了这个并将它传递给客户端 请帮我解决这个问题。

更多信息

VM.Custombuttons_tag = "<td><input class=\"btn btn-mini btn-success\" type=\"button\" id=\"Delegate_New_btn\" value=\"New\" onclick='location.href=\'" + string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~")) + "/ABC/Delegate/AssignListUserLevel?PeriodId=0'/></td>";

这是我的完整代码,VM 是一个方法,Custombuttons_tag 是字符串,所以当我运行我的代码时,它会将代码内部 HTML 转换为 div,并显示一些不正确的语法错误

【问题讨论】:

  • 我认为您的问题与双引号无关。不知道你的意思是:“我已经在我的服务器端 C# 中定义了它并将它传递给客户端”。您通过什么方式将其传递给客户端?请显示该代码。第一行代码是C#吗?对于这个document.getElementById("id").innerHTML=string;string 定义在哪里? mylocationurl 在哪里定义?请提供所有相关代码!
  • @KJPrice 检查我的更新代码

标签: javascript html string quotes


【解决方案1】:

您没有使用string 定义字符串,而是使用var 定义everything

var myString = "I am a string";
var myNumber = 1000;

Java 和 JavaScript 确实有区别!

【讨论】:

  • 你的回答不适合我的情况
  • 你也可以用javascript给出答案,它会解决我的问题然后我可以接受它
【解决方案2】:

您可能想尝试这样的事情......

var input=document.createElement('input');
input.setAttribute('class','success');
input.setAttribute('type','button');
input.setAttribute('id','Delegate_New_btn');
input.setAttribute('value','New');
input.setAttribute('onclick','location.href="'+mylocation+'"');

document.getElementById('id').appendChild(input);

【讨论】:

    【解决方案3】:

    这里有几个问题,第一个是你在分配变量时没有使用==,第二个是你需要使用var而不是string

    因此,您的代码应如下所示: var mystring = "&lt;input class='success' type='button' id='Delegate_New_btn' value='New' onclick='location.href=\'+mylocation+\''/&gt;";

    您需要使用\' 的唯一情况是您的单引号包含在单引号中,就像您使用location.href 部分一样。

    【讨论】:

    • mylocation 是这里的预定义变量,因此在您的代码中它也可以作为字符串
    【解决方案4】:

    只要嵌套正确,您就可以混合匹配单引号和双引号。

    var mystring = '<input class="success" type="button" id="Delegate_New_btn" value="New" onclick="location.href=' + mylocation + '"/>';
    

    【讨论】:

    • 它可以工作,但在服务器端我不能用单引号开始一个字符串
    • 然后切换双引号和单引号......它仍然可以在JS中工作。
    • 不会,因为当我们使用 innerHTML 时,所有没有反斜杠的单引号都会被视为双引号
    • 那么不要使用innerHTML,做这样的事情document.getElementById("id").html(mystring);
    • 两者效果相同
    猜你喜欢
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    相关资源
    最近更新 更多