Ant*_*era 5 html javascript jquery
我正在尝试使用jQuery来选择div,但忽略所有divs选定div的子节点.divs除了HREF我匹配之外,没有任何其他方法可以识别它们.例如:
outerdiv = $('a[href^="http://bizmate."]').closest('div');
outerdiv.prepend("This was selected")Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Won't be selected
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
</div>
</div>
</div>
</div>
<div>
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
此代码选择所有divs,包括孩子.如何将其限制为仅选择满足条件的最外层div而忽略divs同时满足给定条件的子项?
编辑:
目前,该示例将给出:
将不会被选中
这位被选中的Bizmate 选择此项目被选中为Bizmate所有
这选择了Bizmate
这个选择了Bizmate
的电源
我希望结果如下:
将不会被选中
这位被Bizmate
提供动力由Bizmate
提供技术支持Bizmate
这个选择由Bizmate提供
这将通过根据树中找到的链接数量过滤掉子级,从而选择任何顶级父级,而与簇的数量或其确切结构无关:
var link = 'a[href^="http://bizmate."]',
outerdiv = $(link).filter(function() {
var total = $(this).parents('div:last').find(link).length;
if (total > 1) {
var parent = $(this).closest('div').find(link).length;
if (parent == total) return $(this);
}
else return $(this);
}).closest('div');
outerdiv.prepend("This was selected");Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Won't be selected
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
</div>
</div>
</div>
</div>
<div>
<div>
Powered by <a href="http://bizmate.in">Bizmate</a>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |