JQuery выбирает следующий div, когда у этого div есть дети - PullRequest
1 голос
/ 23 марта 2010

Я хочу иметь возможность выбрать следующий в строке div (это не дочерний div или родительский div), больше похожий на родного брата. Затем я хочу получить node_id из этого div и проанализировать его. Например, ниже я знаю «NODE_ID» первого, поэтому я могу использовать селектор jquery, чтобы получить этот node_ID, затем я хочу переместиться непосредственно под этим DIV и получить NODE_ID этого, но я не буду знать идентификатор или Node_id, поэтому я должен иметь возможность перейти к следующему DIV без идентификатора для селектора ... в этом случае я хочу получить значение node_id "74_3" и проанализировать его.

Вот HTML:

<div style="display: block;" id="71_2_sub_p_div" node_id="72_2">
    <span class="a_hand">
        <img src="../images/maximize.png"> &nbsp;Commercial
    </span>
</div>

<div style="display: block;" id="71_3_sub_p_div" node_id="74_3">
    <span onclick="toggle_display('75_4_sub_p_div');" class="a_hand">
           <img src="../images/maximize.png"> &nbsp;Apartments
    </span>
</div>

Вот селектор, который я использую для получения известных NODE_ID:

$("div[node_id='72_2']")

Как я могу сделать это в jquery? Заранее спасибо.

1 Ответ

6 голосов
/ 23 марта 2010

Если div - следующий брат или сестра, вы можете использовать .next()

$('div[node_id=72_2]').next(); // should be div#71_3_sub_p_div
$('div[node_id=72_2]').next().attr('node_id'); // should be '74_3'

Если есть другие братья и сестры, и вы хотите найти только <div node_id='...'>может быть немного сложнее:

$('div[node_id=72_2]').nextAll('div[node_id]').eq(0).attr('node_id') 
// also '74_3'

Просматривает всех следующих братьев и сестер, ищет div с атрибутом node_id, сокращает совпадение до одного элемента, используя .eq(), а затем возвращаетэто атрибут node_id.

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