now*_*iko 7 html javascript css-selectors
我有,divid在哪里this_div_id_NUMBER,所有人div都有不同的NUMBER部分.我怎么发现所有人div只是使用this_div_id了id的一部分?
dan*_*vis 17
你可以使用querySelectorAll来命中部分属性,包括ID:
document.querySelectorAll("[id^='this_div_id']")
Run Code Online (Sandbox Code Playgroud)
等号旁边的^表示"以...开头",您可以使用*代替,但它容易出现误报.
您还要确保在attrib选择器中的comapare值周围使用引号(或者),以便在querySelectorAll上获得最大的兼容性; 在jQuery和常青浏览器中它并不重要,但对于旧浏览器而言,它确实很重要.
编辑:迟到的要求需要一个更具体的选择器:
document.querySelectorAll("[id^='this_div_id']:not([id$='_test_field'])");
Run Code Online (Sandbox Code Playgroud)
not()段阻止以"_test_field"结尾的任何内容进行匹配.
概念验证/演示:http://pagedemos.com/partialmatch/
use*_*110 10
querySelectorAllquerySelectorAll接受CSS选择器并返回与该css选择器匹配的所有元素的HTMLNodeList(一种数组).
css选择器^(以...开头)可用于您的目的.在本文中了解有关它的更多信息.
对于你的情况,它会 document.querySelectorAll("[id^='this_div_id']");
请注意,querySelectorAll不会返回实时节点列表.这意味着,对dom的任何更改都不会在函数的返回值中实时更新.
另一种方法是将所有元素分配给一个特定的类,然后你可以使用getElementsByClassName(比querySelector快得多).
var divs = document.getElementsByClassName("divClass");
Run Code Online (Sandbox Code Playgroud)