Javascript报价冲突

时间:2011-08-17 04:19:51

标签: javascript jquery function quotes quote

我需要发送一个函数作为字符串作为另一个函数的参数,如下例:

<a href="#" onclick="retryAjaxLoading('$('form#ajaxForm').trigger('submit');'); return false;">Por Favor, Tente Novamente!</a>

提前感谢...

3 个答案:

答案 0 :(得分:3)

您可以使用转义双引号:

<a href="#" onclick="retryAjaxLoading(\"$('form#ajaxForm').trigger('submit');\"); return false;">Por Favor, Tente Novamente!</a>

但绝对最好的解决方案是在script标记内编写所有脚本。你正在使用jQuery,因此编写像

这样的东西会很容易
$("#container a").click(function() 
{
    //Place your code here.
});

答案 1 :(得分:2)

<a href="#" onclick="retryAjaxLoading('$(\'form#ajaxForm\').trigger(\'submit\');'); return false;">Por Favor, Tente Novamente!</a>

更好的方法是将代码与HTML分开,并将类或ID添加到标记

<a id="WhateverUniqueID" href="#">Por Favor, Tente Novamente!</a>

$("#WhateverUniqueID").click(function(e){
    e.preventDefault();
    retryAjaxLoading($("form#ajaxForm").trigger("submit"));
})

答案 2 :(得分:0)

尝试这将逃避onclick属性中的双引号。

<a href="#" onclick="retryAjaxLoading(\"$('form#ajaxForm').trigger('submit');\"); return false;">Por Favor, Tente Novamente!</a>