Javascript 从例如xx_编号中获取ID数组
如何检索只有一个公共前缀的ID数组 例如。Javascript 从例如xx_编号中获取ID数组,javascript,Javascript,如何检索只有一个公共前缀的ID数组 例如。 我有一张50个演员的名单,他们都有,我看起来像:aa_0000。其中“a”是前缀,“0”表示随机数。是否希望所有元素的id都以公共开头 假设它们都是div元素,这应该可以 // Just so we can stay DRY :) var prefix = 'aa_', matchElement = 'div'; // Do we have an awesome browser? if ('querySelectorAll' in docum
我有一张50个演员的名单,他们都有,我看起来像:aa_0000。其中“a”是前缀,“0”表示随机数。是否希望所有元素的
id
都以公共开头
假设它们都是div
元素,这应该可以
// Just so we can stay DRY :)
var prefix = 'aa_',
matchElement = 'div';
// Do we have an awesome browser?
if ('querySelectorAll' in document) {
var matchedDivs = document.querySelectorAll(matchElement + '[id^="' + prefix + '"]');
} else {
var allDivs = document.getElementsByTagName(matchElement),
matchedDivs = [],
regex = new RegExp('^' + prefix);
for (var i = 0, allDivsLength = allDivs.length; i < allDivsLength; i++) {
var element = allDivs[i];
if (element.id.match(regex)) {
matchedDivs.push(element);
}
}
}
console.log(matchedDivs.length); // Expect 3
//这样我们才能保持干燥:)
变量前缀='aa_u3;',
matchElement='div';
//我们有很棒的浏览器吗?
if(文档中的“querySelectorAll”){
var matchedDivs=document.querySelectorAll(matcheelement+'[id^=“'+前缀+''”]”);
}否则{
var allDivs=document.getElementsByTagName(matchElement),
matchedDivs=[],
regex=新的RegExp(“^”+前缀);
对于(变量i=0,allDivsLength=allDivs.length;i
如果要显式地将数字与数字匹配,请尝试正则表达式/^aa\ud+$/
如果您有jQuery浮动,您可以对使用jQuery的人使用
$('div[id^=“aa_u”]”)
:
$('div[id^="aa_"]')
此外,您可以测试浏览器是否支持
queryselectoral
,然后使用div[id^='aa_']
@Felix Kling这其中的乐趣在哪里P(当然,请看即将到来的编辑)。@Felix Kling请看编辑。querySelectorAll()
的测试正常吗?在20分钟的空对象之后,我发现Firefox需要content.document…等才能正常工作。谢谢alex,querySelectorAll()工作得很有魅力:)@EpicWii不用担心,请随意给我绿色的勾号:)