0

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

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

这是 asp.net 树视图结构。我想遍历所有节点和子节点。(表是节点,紧随其后的div是该节点的子节点)

我可以通过这样做来遍历所有表标签$('#treeviewid > table'),这可以让我获得该级别的节点,但是对于当前表标签,我如何才能获得紧随其后的 div 标签,以及如何检查它是否存在,因为该节点可能没有任何子节点。

谢谢。

4

5 回答 5

2

.next

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

于 2013-06-24T14:57:29.147 回答
1

如何获得紧随其后的 div 标签

利用.next()

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

我如何检查它是否存在

利用.length()

if($('#treeviewid > table').eq(1).next('div').length > 0){
}
于 2013-06-24T14:57:48.140 回答
0

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

于 2013-06-24T14:58:27.753 回答
0

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

jQuery(“上一个 + 下一个”)

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

在主题情况下:

$('#treeviewid > table + div')

于 2013-06-24T14:59:12.717 回答
0

看看这个小提琴:访问,或查看下面的静态夹具:

您的标记:

<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());
}
于 2013-06-24T15:20:50.450 回答