如何使用jquery获取下一个节点?

时间:2013-06-24 14:55:35

标签: javascript jquery html treeview

在我的html结构中,我有像这样排列的table和div标签

<table>...</table>
<div>...</div>
<table>...</table>
<div>...</div>
<table>...</table>
<div>...</div>
etc...

这是asp.net树视图结构。我想遍历所有节点和子节点。 (table是节点,紧接着出现的div是该节点的子节点)

我可以通过执行此$('#treeviewid > table')遍历所有表标记,这会获得该级别上的节点,但是对于当前表标记,我如何获得紧跟在其后面的div标记,以及如何我可以检查它是否存在,因为该节点可能没有任何子节点。

感谢。

5 个答案:

答案 0 :(得分:2)

.next

$('table')[2].next('div');

答案 1 :(得分:1)

如何才能获得正确的div标签

使用.next()

$('#treeviewid > table').eq(1).next('div');

如何检查它是否存在

使用.length()

if($('#treeviewid > table').eq(1).next('div').length > 0){
}

答案 2 :(得分:0)

$('#treeviewid > table').eq(0).next()

答案 3 :(得分:0)

下一个相邻选择器(“prev + next”)

jQuery(“prev + next”)

prev:任何有效的选择器。 next:用于匹配第一个选择器旁边元素的选择器。

在主题案例中:

$('#treeviewid > table + div')

答案 4 :(得分:0)

看看这个小提琴:visit, or see static fixture below:

您的加价:

<table class="i1">...</table>
<div>1</div>
<table class="i2">...</table>
<!--<div>1</div>-->
<table class="i3">...</table>
<div>3</div>

找到div的代码:

var divsAfter = $('table.i2').next('div'); // a scenario when the second table is taken
alert(divsAfter.length); // 0, if no 'div' follows
if (divsAfter.length) {
    alert(divsAfter.text());
}