5

我有以下 jQuery 代码:

$(".container").append("<a href='javascript:void(0)'onClick='showField('"+data.name+"','"+data.text+"');'>Edit</a>");

哪个正在输出(注意之前4和之前的报价问题>edit

<a href="javascript:void(0)" onclick="showField("4','school_type');'>Edit</a>

什么时候应该输出:

<a href="javascript:void(0)" onclick="showField('4','school_type');">Edit</a>
4

3 回答 3

16

尝试\"而不是'in onClick

$(".container").append("<a href='javascript:void(0)' onClick=\"showField('"+data.name+"','"+data.text+"');\">Edit</a>");
于 2012-07-23T14:38:37.957 回答
4

你需要逃避你"的 s\

$(".container").append("<a href='javascript:void(0)' onClick='showField(\""+data.name+"\",\""+data.text+"\");'>Edit</a>");

现场演示

于 2012-07-23T14:32:38.583 回答
0

虽然这个回复是在很晚的时候来的,但是你也可以使用这样的东西来实现你想要的:

    var element = '<p class = ' + '"capitals"' + '> This is a new paragraph</p>'
    $(".container").append(element);

如果将上述代码打印到调试控制台,将打印以下输出:

     <p class = "capitals">This is a new paragraph</p>

您可以像这样使用双引号和单引号组合'""'来打印出双引号。另一个例子:

        var doublequotedtext = '"Hello"'; 
        debug.print(doublequotedtext);

因此将上述内容应用于您的代码:

       var element = '<a href = ' + '"javascript:void(0)"' + 'onClick = ' + '"showField(data.name,data.text);"' + '>Edit</a>'
       $(".container").append(element);
于 2013-12-04T13:46:17.923 回答