2014-01-02 6 views
0
<div class="mother"> 
    <div class="son">Content</div> 
    <h3></h3> 
    text 
    <div class="anotherSon">Content</div> 
</div> 

Таким образом, в этом примере я хотел бы получить все после «сын» -Div внутри материнского DIV (и сохранить его в переменной). Содержимое может быть любого типа, это может быть текст или элементы. Какой самый простой способ сделать это в jquery?Получить содержимое после DIV в другой DIV

+2

Рори имеет. Просто в стороне, более типично использовать термины «родитель» и «ребенок», чем «мать» и «сын» :-) –

+0

Да, вероятно, было бы более педагогичным для меня вместо этого использовать родителя и ребенка. :) – Undrium

ответ

4

Если вы хотите включить текстовые узлы, вам нужно будет использовать contents() и выяснить, индекс .son по отношению к своему родителю:

var $contents = $(".mother").contents(); 
var sonIdx = $contents.index($(".son")); 
var elements = $contents.filter(function(i) { 
    return i > sonIdx; 
}).get(); 

Here is a fiddle, который onstrates.

+0

Хорошее мнение о включении текстовых узлов, +1 –

0

Вы можете использовать siblings()

$('.son').siblings().next(); 

Working Fiddle

+0

Мне не нужен контент до класса «сын», если есть что-нибудь перед этим, я, вероятно, получу его с использованием братьев и сестер, не так ли? – Undrium

+0

@Undrium: Обновлен код и скрипка. –

+0

Хм, это тоже работает с текстовыми узлами? Он очень гладкий. – Undrium

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