让我们看看以下代码:
$('#el').html('ex­am­ple');
现在,我如何用软连字符实体取回该元素的文本? 这两个:
$('#el').html(); $('#el').contents().get(0).nodeValue;
给了我“示例”作为回报值,而不是“ex& shy; am& shy; ple”
jsFiddle链接:http://jsfiddle.net/w7QKH/
浏览器:FF7,未在其他浏览器中检查过。
答案 0 :(得分:5)
实际上$('#el')。html()为您提供带有软连字符的'example'
。如果你运行$('#el')。html()。length它将返回9.所以连字符都在,但它们不会显示。并且它不等于'ex­am­ple'
,因为此字符串不会被转义。如果你想与字符串比较,你应该使用'ex\u00ADam\u00ADple'
- 在这里我用它的unicode值替换­
。 http://jsfiddle.net/w7QKH/1/
答案 1 :(得分:1)
$('#el').html().replace(/\u00AD/g, '­');