получать узлы без текстов - PullRequest
       1

получать узлы без текстов

0 голосов
/ 04 октября 2009
$("br").parent().contents().each(function(i) {
   if(this.nodeType == "#Text")
    {
        alert(this.textContent);
    }
});

Я пытаюсь выделить все тексты, не окруженные HTML-тегами, но разделенные через <br>

делая это, иногда возвращает много предупреждающих сообщений, даже когда должна быть только пара.

Я пытался отфильтровать его, используя

if(this.nodeValue != "") or if(this.textContent != "")

но все равно всплывающие сообщения с предупреждениями.

Я подозреваю, что это пробелы в HTML-документе (я не контролирую его). Я только хочу отобразить this.textContent, который на самом деле имеет видимый текст.

1 Ответ

0 голосов
/ 04 октября 2009

Тип узла текстового узла - 3, поэтому:

$('br').parent().contents().each(function() {
    if ( this.nodeType == 3 ) {
      var text = (this.textContent ? this.textContent : this.innerText), temp = text.replace( /\s+/g, '')
        if ( temp.length ) {
            alert( text )
        }
    }
})

Демонстрация в реальном времени: http://jsbin.com/abalu

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...