无法使用单引号将变量附加到锚标记的标题

时间:2013-06-17 03:50:41

标签: javascript jquery html regex

我从数据库中获取包含单引号的数据。 得到这个没有问题,我用它中的单引号变量

例如:

var title="vicky's blog";

现在的问题是我无法将此变量附加为锚标记的标题。

我尝试过使用escape,unescape,替换正则表达式以及所有这些。我想我错过了什么,请帮助。

http://jsfiddle.net/vigneshvdm/mtXSZ/

请参考这个jsfiddle。检查那里的锚标记没有标题的完整变量。

我也尝试了

中提供的解决方案

Using JavaScript single and double quotes for href's

jQuery single quote in JSON response

4 个答案:

答案 0 :(得分:4)

您需要将标题值包含在html元素

中的""
$("#testing").html('<a href="#" title="'+unescape(title)+'">hello</a>');

演示:Fiddle

但我会建议

var title="vicky's blog's test dd \" with";

$('<a />', {
    href: '#', 
    title: title,
    html: 'test'
}).appendTo('#testing')

演示:Fiddle

答案 1 :(得分:2)

只需使用jQuery创建锚点,让它解决转义问题:

var $anchor = $('<a>', {
    href: '#',
    title: title,
    text: 'hello'
});
$('#testing').html($anchor);

Demo

答案 2 :(得分:0)

如果你想在html中放置文本,你应该总是对特殊字符进行html编码。

'"<>&

var title="vicky&apos;s blog";

答案 3 :(得分:0)

看到这个我觉得它会对你有所帮助: enter image description here