如何找到考虑父节点的元素?示例:
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
var $ul = $('.ul');
console.log($ul.find('.item-1')) - // found - OK
如果找到
console.log($ul.find('.level-3')) - // not found - WHY ???
答案 0 :(得分:0)
您可以使用soma类型的jQuery函数来执行此操作:
最近:找到anchestor元素与选择器匹配。
.closest()方法在进行DOM树
之前开始使用元素本身进行搜索
父母:遍历DOM树,查找与选择器匹配的所有父级。
:检查元素是否与选择器匹配。
$ul.closest(".level-3")
答案 1 :(得分:0)
假设UL为元素
您无法找到它,因为level-3
不是ul
的孩子。
根据您当前的HTML,您需要使用.filter()
将匹配元素集合减少到与选择器匹配的元素或通过函数测试。
代码的
var $ul = $('ul');
$ul.filter('.level-3')
答案 2 :(得分:0)
在你的观点中,你没有&#34; .level-3&#34;类。简单地说,你可以使用jquery来做到这一点。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
alert($("ul").find('.item-3').text());
});
});
</script>
</head>
<body>
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
<button id="btn1">Show level 3 Text</button>
</body>
</html>
&#13;