gpt4 book ai didi

类型 'input' 的 jQuery 选择器不包括一些匹配的元素

转载 作者:行者123 更新时间:2023-12-01 06:27:46 26 4
gpt4 key购买 nike

我已关注 HTML

 <input type=text id='input_field_1` class='row'/>
<input type=text id='input_field_2` class='row'/>
<input type=text id='optional_field_3` class='row'/>

在上面的 DOM 中,如果我想选择 idinput_field_ 开头的元素,那么我可以通过 来实现>$("输入[id^='input_field_']")

现在,更多的 input 元素被添加到现有的 DOM 结构中,这些是

 <input type=text id='input_field_min_4` class='row'/>
<input type=text id='input_field_max_5` class='row'/>
<input type=text id='optional_field_6` class='row'/>

如果我使用 $("input[id^='input_field_']") 则所有以 input_field_ 开头的元素,包括 input_field_min_4input_field_max_5 也在选择。

我不想要这个,我想排除 input_field_min_4input_field_max_5,为此,如果执行一些类似 $("input[id^=' input_field_'],input:not[id^='input_field_m']") 那么结果没有达到我的预期。

最佳答案

您的选择器无效,将导致 JavaScript 错误。 :not 周围缺少括号.

console.log($("input[id^='input_field_'],input:not([id^='input_field_m'])"));
^ ^

但是,即使添加了它们,, 的存在选择器之间的结果是选择 id="^input_field_" id="^input_field_m" ,它实际上匹配所有输入。

您需要组合属性选择器 ( Combine CSS Attribute Selectors ) 和否定伪类 :not 在一起,所以下面将选择前两个 <input>元素。

console.log($('input[id^="input_field_"]:not([id^="input_field_m"])'));

此外,相关 HTML 代码使用了一些不一致的引号。反引号可能会导致一些问题。

关于类型 'input' 的 jQuery 选择器不包括一些匹配的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15519011/

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