0

我的javascript中有这行代码(它的jquery)

$('#myobject').append("<img width='225' title='"+addslashes(post.title)+"' src='"+urlvisual+"' />");

addlashes 函数是从这里关于转义引号的另一篇文章中提取的

function addslashes( str ) {
    return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
}

但结果仍然打破了标题属性,有什么建议吗?

4

3 回答 3

6

因为无论如何我们都在使用 jQuery,所以我们可以使用它们的元素构建语法:

$('<img/>', {
    width: 255,
    title: post.title,
    src: urlvisual
}).appendTo('#myobject');

更简洁的代码,无需转义:)

于 2013-01-13T20:30:22.433 回答
1

您必须使用 HTML 实体而不是反斜杠来转义字符串。

双引号:" => &quot;

单引号:' => &#39;

于 2013-01-13T20:31:06.543 回答
0

此功能应正常工作:

function addslashes( str ) {
    return (str+'').replace(/'/g, "\\'");
}
于 2013-01-13T20:30:35.220 回答