我有以下HTML:
<div class="parent">
..More Divs
<div>
...More Divs
<input class="button-input" type="submit" value="false">
</div>
..More Divs
<div >
...More Divs
<input class="button-input" type="submit" value="false">
</div>
<div>
...More Divs
<input class="button-input" type="submit" value="false">
</div>
<div data-action="Block">
<input class="button-input" type="submit" value="false">
</div>
<div data-action="Block">
...More Divs
<input class="button-input" type="submit" value="false">
</div>
<div data-action="Block">
...More Divs
<input class="button-input" type="submit" value="false">
</div>
</div>
我正在尝试获取父级中没有数据操作块的所有div。我尝试使用过滤器功能删除阻止数据操作属性,但它不起作用。过滤掉没有操作块的div后,我需要对输入字段执行一个操作,可以使用.find('input[value="false"]')
$.find(".parent").filter(function() {
return this.find("[data-action='Block']").length ==0;
}));
答案 0 :(得分:0)
您可以尝试否定属性选择器:
$("div:not([data-action=Block])",".parent")
您看到的第二个属性.parent
表示该函数会尝试查找在该元素中没有data-action=Block
属性的每个div
答案 1 :(得分:0)
你可以使用jquery不能找到除了not选择器之外的所有div的函数。
答案 2 :(得分:0)
将find方法链接起来缩小结果:
$('.parent').find('> div:not([data-action="Block"])').find('input[value="false"]')
第一次发现的结果:
第二个查找将在第一个结果中搜索,结果将是: