简体   繁体   English

如何使用JQuery在选择器中使用HTML属性的“子字符串或包含”来查找元素?

[英]How to find an element using “substring or contains” of value of HTML Attribute in selector using JQuery?

How to find an element using substring of HTML Attribute value in selector? 如何在选择器中使用HTML属性值的子字符串查找元素?

I am trying to find whether div contains an input with docnumber startes with letter 'S' 我试图找到div是否包含带有字母“S”的docnumber startes的输入

  alert($("#forbDokProd").find(".dokMalProd input[name='check2'] [data-doknumber*='S'").length > 0) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <div id="doc" class="docParent"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="S004"> <---Starts with S <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B004"> <---Starts with B <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B005"> <---Starts with B </div> 

https://jsfiddle.net/vfse1caL/1/ https://jsfiddle.net/vfse1caL/1/

Not preferring For Each 不喜欢For Each

Your selector is wrong. 你的选择器错了。 It should not contain space between [name=] and [data-doknumber] . 它不应该包含[name=][data-doknumber]之间[data-doknumber] It also should be ^= to only starts with : 它也应该是^=仅从以下开始

".dokMalProd input[name='check2'][data-doknumber^='S']" 

 alert($("#forbDokProd").find(".dokMalProd input[name='check2'][data-docnumber^='S']").length) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="forbDokProd"> <div id="doc" class="docParent dokMalProd"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="S004"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B004"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B005"> </div> </div> 


There are also other typos: missing closing ] , wrong HTML structure and selectors. 还有其他拼写错误:缺少关闭] ,错误的HTML结构和选择器。

The [attribute^=value] selector selects each element with a specific attribute, with a value beginning in a specific string. [attribute^=value]选择器选择具有特定属性的每个元素,其值以特定字符串开头。 Remove the space between the selectors. 删除选择器之间的空间。

 console.log($("#doc").find("input[name='check2'][data-docnumber^='S']").length > 0) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="doc" class="docParent"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="S004"> <!---Starts with S--> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B004"> <!---Starts with B--> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B005"> <!---Starts with B--> </div> 

You are having a type error in your code, your using docnumber and doknumber 您的代码中存在类型错误,您使用的是docnumberdoknumber

alert($("#doc").find("input[name='check2'][data-docnumber*='S']").length > 0)

demo 演示

 console.log($("#doc").find("input[name='check2'][data-docnumber*='S']").length > 0) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="doc" class="docParent"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="S004"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B004"> <input type="checkbox" name="check2" class="ballu" value="123" data-docnumber="B005"> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM