【发布时间】:2013-04-21 08:10:39
【问题描述】:
有一个容器 div,里面有其他 div,这些子 div 包含文本和一些链接。我正在尝试选择此容器 div except 内的所有锚标记,用于那些在 具有特定类的子 div 之后出现的标记。 p>
<div id="the_container">
<div>
some text <a href="...">link</a>
</div>
<div>
some text <a href="...">link</a>
</div>
... more regular divs below...
<div class="NOT_a_regular_child">
this is not text
</div>
<div>
some text <a href="...">link</a>
</div>
... more divs come below...
</div>
所以,从上面的 HTML 中,我想只选择 div 之前的链接,哪个类是“NOT_a_regular_child”。
我用谷歌搜索了它,但似乎没有用于在另一个之前获取元素的选择器(?)
我相信我可以选择所有子 div,然后循环遍历它们并将它们的链接转储到一个数组,直到我到达那个特定的,但没有办法只使用 css 选择器吗?
我无法更改 HTML 的结构,因为我只是在编写一个 google chrome 扩展程序以在现有网站上工作。
【问题讨论】:
-
jQuery nextUntil: dir: function(elem, dir, until ) { var match = [], cur = elem[ dir ]; while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { if ( cur.nodeType === 1 ) {matched.push(cur); } cur = cur[dir]; } 返回匹配; },
标签: javascript html css dom css-selectors