Javascript:获取id为log_XXXX的所有对象

Yos*_*ale 10 javascript

我需要获取id与特定模式匹配的所有对象.我该怎么做?谢谢!

Tra*_*er1 18

现代浏览器:(IE9 +)

//slice turns the resulting DOM collection into a proper array
var matches = [].slice.call(document.querySelectorAll('[id^=log_]'));
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('[id^=log_]')
Run Code Online (Sandbox Code Playgroud)

旧浏览器,没有jQuery:

var matches = [];
var elems = document.getElementsByTagName("*");
for (var i=0; i<elems.length; i++) {
  if (elems[i].id.indexOf("log_") == 0)
    matches.push(elems[i]);
}
//matches now is an array of all matching elements.
Run Code Online (Sandbox Code Playgroud)

  • 如果你不使用jQuery?:P (2认同)
  • 您的jQuery选择器可以改进."star selector"是隐含的,你应该使用"starts-with"选择器而不是"contains",而下划线不需要转义:`$("[id ^ = log _]")` (2认同)