Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
innerHTML中的JavaScript正则表达式匹配id_Javascript_Regex - Fatal编程技术网

innerHTML中的JavaScript正则表达式匹配id

innerHTML中的JavaScript正则表达式匹配id,javascript,regex,Javascript,Regex,我设法用获取所有文本。innerHTML,代码应该与所有具有模式的ID匹配:sens[number]可以获取数字吗?附近有路吗?请不要用jQuery,谢谢 如果您只是试图获取具有相似id的元素 var elements = document.querySelectorAll('[id^="sens[number]"]'); ^=将匹配以sens[编号]开头的任何id 如果数字应该是动态的 var elements = document.querySelectorAll('[id^=sens]'

我设法用
获取所有文本。innerHTML
,代码应该与所有具有模式的ID匹配:
sens[number]
可以获取数字吗?附近有路吗?请不要用jQuery,谢谢

如果您只是试图获取具有相似id的元素

var elements = document.querySelectorAll('[id^="sens[number]"]');
^=将匹配以sens[编号]开头的任何id 如果数字应该是动态的

var elements = document.querySelectorAll('[id^=sens]');
获取所有以sens开头的变量,或者您可以使用带有选择器的变量来获取带有数字的特定变量

var number = 1;
var elements = document.querySelectorAll('[id^=sens"['+number+']"]');

序言

不要试图从
innerHTML
字符串中查找元素。字符串很难解析,DOM使搜索具有特定属性的元素变得非常容易。话虽如此:

通用解决方案

// grab all elements on the page and setup an array to store matches
var els = document.getElementByTagName('*').
    results = [];
// iterate over the elements
for (var i = 0; i < els.length; i++){
  // see if the element has an id and, if so, if it matches
  // the "sens[number]" pattern
  if (els[i].id && /sens\[\d+\]/.test(els[i].id)){
    // found a match, add it to results
    results.push(els[i]);
  }
}

你到底想干什么?从某个元素的innerHTML中的某些ID获取元素?请更清楚地说明,显示您尝试过的内容等。对于跨浏览器+1:)
var els = document.querySelectorAll('[id^="sens["][id$="]"]'),
    results = [];
for (var i = 0; i < els.length; i++){
  // all we've found are elements that start with "sens[" and
  // end with a "]". We still need to verify there's a number
  // between the brackets ([])
  if (/sens\[\d+\]/.test(els[i].id)){
    results.push(els[i]);
  }
}