2014-02-15 3 views
0

У меня такой HTML. Как пройти к тегу <br>, используя jQuery?Как пройти через объект DOM в jQuery?

Состояние:

  1. не должны использовать атрибуты класса.
  2. не должен использовать метод разделения.

Например:

<html> 
<body> 
<div> 
    <div> 
hello 
    </div> 
123 
<br> 
paragraphs 
<br> 
escapes 
<br> 
</div> 
</body> 
</html> 

Для меня единственный вариант, чтобы пройти с помощью <br> тега, так как я могу перебрать <br> и получить следующие данные после <br>.

Я пробовал Как это получить HTML, но не удалось пройти через <br>.

var html=$(body).html(); 

Выход мне нужно:
"ускользает"

Можете ли вы помочь мне пройти через <br> тег?

ответ

1

Тексты, которые вы ищете, не входят в их собственные теги. Они называются текстовыми узлами, а у jQuery нет простого способа их захвата. Но вы можете использовать немного сырого JavaScript с вашим jquery, чтобы сделать это.

В этом примере сценарий захватывает все текстовые узлы внутри внешнего-DIV (contents() грейферов каждого типа дочернего узла, а затем filter на nodeType==3 ухватить только текстовые узлы), и перебирает их, предупреждая друг:

$('body > div').contents().filter(function() { 
     return this.nodeType == 3; 
    }) 
    .each(function(){ 
     alert($(this).text());} 
    ); 

Вы увидите, что она находит белые-пространства только внутри внешнего-DIV перед абзацем и после последнего разрыва строки (предупреждение пусто для первых и последних текстовых узлов), но и находит каждый фрагмент текста между <br> s

+0

когда я попробовал выше метод. в оповещении я получаю только пустые места – user3206085

0

Попробуйте следующее:

$('br').each(function(){ 
    console.log($(this).val()); 
}); 

Проверьте следующую ссылку для получения дополнительной информации: http://api.jquery.com/jquery.each/

Надеется, что это помогает.

+0

PS: Не забудьте принять ответ, если найдете ответ r полезно;) – DenisR

+1

строки-разрывы не имеют значений (или текста). OP должен либо обернуть текст своей собственной разметкой (как предлагает Pranav), либо захватить текстовые узлы (как я предлагаю). – Faust

Смежные вопросы