1

我正在尝试制作一个脚本来验证 nodeValue 是否在 html 文档中

var myVar= document.getElementsByTagName("b");
for (var i = 0; i < myVar.length; i++) {
  var pumpkin = myVar[i].firstChild;  
  if(pumpkin.nodeValue == "Some text")
  {
    alert("exists");
  }
}

&nbsp;如果我要查找的文本包含过滤字符而不是空格,则它不起作用。当我查看 DOM Inspector 时,这些字符不存在(而是有普通空格),但是当我查看页面源时,它们是。

我试过

if(pumpkin.nodeValue == "Some text")

if(pumpkin.nodeValue == "Some&nbsp;text")

但都失败了......有人有想法吗?

(当我要查找的文本在源代码中不包含这些字符时,它可以正常工作)。提前致谢

4

1 回答 1

0

你可以在的帮助下做到这一点,regular expression因为&nbsp;对应的字符代码是160

var myVar= document.getElementsByTagName("b");
for (var i = 0; i < myVar.length; i++) {
    var str = myVar[i].firstChild.nodeValue;  
    var re = new RegExp(String.fromCharCode(160), "g");
    if(str.match(re)) alert("exists");
}

演示。

于 2012-07-20T22:49:28.457 回答