nodeValue и отфильтрованные символы?
Я пытаюсь сделать скрипт, чтобы проверить, находится ли 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");
}
}
Это не работает, если текст, который я хочу найти, содержит отфильтрованные символы, такие как
вместо пробелов. Когда я смотрю с DOM Inspector, этих символов там нет (вместо этого есть нормальные пробелы), но когда я смотрю исходный код страницы, они есть.
Я старался
if(pumpkin.nodeValue == "Some text")
а также
if(pumpkin.nodeValue == "Some text")
но оба не смогли... У кого-нибудь есть идеи?
(работает нормально, когда текст, который я хочу найти, не содержит этих символов в исходном коде). заранее спасибо
1 ответ
Решение
Вы можете сделать это с помощью regular expression
так как
соответствующий код символа 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");
}