nodeValue和筛选的字符

nodeValue and filtered characters?

本文关键字:字符 筛选 nodeValue      更新时间:2024-01-12

我正在尝试制作一个脚本来验证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检查器查看时,这些字符不在那里(取而代之的是普通空格),但当我查看页面源代码时,它们在那里。

我试过

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

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

但两者都失败了。。。有人有主意吗?

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

您可以在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");
}

演示