jQuery需要帮助转义变量

时间:2011-12-06 13:56:19

标签: jquery escaping special-characters

我正在尝试将这些变量组合在一起并将它们附加到选择标记,但是变量包含特殊字符,所有内容都会混乱。无论我如何逃避特殊角色,我都无法让它发挥作用。任何人都可以看看,告诉我我做错了什么?

var contractid = $(this).attr("ows_ID");
var hrefa = "javascript\:SelectField\(\'\{808AEFE9-F68B-4F7B-AF62-C5B32723BBC1\}\'\,\'";
var hrefb = "'\)\;return\ false\;";

var optionline = "<option value='"+hrefa+""+contractid+""+hrefb+"'>otherstuff</option>";

最终产品看起来像这样:

javascript:SelectField('{808AEFE9-F68B-4F7B-AF62-C5B32723BBC1}','133');return false;

但总是这样:

false;'="" {808aefe9-f68b-4f7b-af62-c5b32723bbc1}','115');return="" value="javascript:SelectField("

2 个答案:

答案 0 :(得分:1)

我现在在jsfiddle上玩过。

这对我来说是正确的吗?

http://jsfiddle.net/Y7BP7/3/

答案 1 :(得分:1)

你使它变得比它需要的更复杂。只需反转输出中的引号即可。

var contractid = $(this).attr("ows_ID"),
    hrefa = "javascript:SelectField('{808AEFE9-F68B-4F7B-AF62-C5B32723BBC1}','",
    hrefb = "');return false;",
    optionline = '<option value="' + hrefa + contractid + hrefb + '">otherstuff</option>';