当div有子节点时,jquery选择下一个div

Ron*_*dog 1 jquery jquery-selectors

我希望能够选择下一行的div(它不是子div或父div)更像是兄弟姐妹.然后我想从该div获取node_id并解析它.例如,下面我知道第一个的"NODE_ID",所以我可以使用jquery选择器来获取node_ID,然后我想直接移动到那个DIV下面并检索那个DOD的NODE_ID,但我不知道ID或Node_id,所以我必须能够到达下一个没有选择器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>
Run Code Online (Sandbox Code Playgroud)

这是我用来获取已知NODE_ID的选择器:

$("div[node_id='72_2']")
Run Code Online (Sandbox Code Playgroud)

我怎么能在jquery中这样做?提前致谢.

gna*_*arf 6

如果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'
Run Code Online (Sandbox Code Playgroud)

如果还有其他兄弟姐妹,而你只想找到它们<div node_id='...'>,你会变得更复杂一些:

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

查看所有下一个使用node_id属性查找div的兄弟姐妹,将匹配减少到单个项目.eq(),然后返回它的node_id属性.