如何包含嵌套报价HTML?

时间:2011-09-06 16:05:14

标签: jquery html

我如何在字符串中包含引号?我想做这样的事情:

var stringvariable;
$('#somediv').append('<a href id="someid" + onclick="doSomething("'+stringvariable+'")> MyLink"+</a>');

问题与以下部分有关: onclick="doSomething("'+stringvariable+'")

我如何允许嵌套双引号,因为我需要能够: onclick="doSomething("stringvalue")"

7 个答案:

答案 0 :(得分:6)

您可以使用反斜杠\来转义字符串中的引号:

var stringvariable;
$('#somediv').append('<a href id="someid" + onclick="doSomething(\''+stringvariable+'\')> MyLink"+</a>');

答案 1 :(得分:2)

您可以使用转义来完成此操作,但为了易读,我建议您这样做:

$('#somediv')
    .append('<a href id="someid">MyLink</a>')
    .click(function() {
       doSomething(stringvariable);
    });

答案 2 :(得分:1)

请改用单引号。

onclick="doSomething('stringvalue')"

答案 3 :(得分:1)

如果你正在使用jQuery,请在整个过程中使用它。以下内容会更好,更容易维护:

var $a = jQuery("<a></a>")
    .attr("id", "someid")
    .attr("href", "http://example.com")
    .text("My Link")
    .click(function() {
   doSomething("stringvalue");
});
jQuery("#somediv").append($a);

答案 4 :(得分:0)

Javascript使用'"作为字符串分隔符,因此请使用此功能。

onclick="doSomething('value');" 

答案 5 :(得分:0)

你可以使用

onclick="doSomething(\"stringvalue\")";

答案 6 :(得分:0)

这种替代方法怎么样?将完成您正在尝试做的事情,并希望证明更具可读性:

var stringVariable = "foo";

$('<a/>', 
    { id: "someid", 
      text: "MyLink"
    } 
 ).click( function() { doSomething(stringVariable) } )
  .appendTo("#somediv");