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]);
}
}