gpt4 book ai didi

javascript - jQuery 选择器 : do not select input in div with given class

转载 作者:行者123 更新时间:2023-12-02 17:11:55 25 4
gpt4 key购买 nike

我有这个示例代码:

<div class='root container'>
<div>
<input a ...>
<input b .......>
<submit submit1 doing some magic ajax... -> $(this).closest('div.container').find(':input') ==> a,b - not a,b,c,d>
</div>
<div class='container'>
<div>
<div>
<input c ...>
<input d .......>
<submit submit2 doing some magic ajax... -> $(this).closest('div.container').find(':input') ==> c,d>
<div>
</div>
</div>
</div>

输入没有要定位的类。我想在 .container 下选择输入但不是来自嵌套 .container 的输入.

起点是“提交”,其中click()行动;我得到了.container ( $(this).closest('.container') )现在我需要知道如何仅选择未嵌套的输入:

如果我使用 submit1 ,我得到输入 a, b ,不是a, b, c, d 。如果我在 submit2 ,我得到c, d .

HTML 结构可能会有所不同,因此我无法使用准确的选择器(例如 div > input ,...)。

最佳答案

您没有inputs不是 .container 的后代,如果你想获得全部 inputs .root.container里面,除了子里面的那些 .container s,你可以这样做:

var $inputs = $('.root').find('input').filter(function() {
return !$(this).closest('.container').length
|| $(this).closest('.container').hasClass('root');
});

所以你找到了所有 input位于 .root 内,然后过滤它们,仅返回那些没有祖先的 .container ,或者有一个祖先.container这是 .root .

Here's a fiddle

关于javascript - jQuery 选择器 : do not select input in div with given class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24752346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com