접두어 만 사용하여 ID 배열을 검색하려면 어떻게해야합니까?예 : xx_numbers에서 ID 배열 가져 오기
예. 나는 50 개의 div를 가지고 있고 그것들은 모두 가지고 있고 ID는 다음과 같이 보입니다 : aa_0000. 여기서 'a'는 접두어이고 '0'은 임의의 숫자를 나타냅니다.
접두어 만 사용하여 ID 배열을 검색하려면 어떻게해야합니까?예 : xx_numbers에서 ID 배열 가져 오기
예. 나는 50 개의 div를 가지고 있고 그것들은 모두 가지고 있고 ID는 다음과 같이 보입니다 : 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
jsFiddle합니다.
숫자를 명시 적으로 일치 시키려면 정규식 /^aa_\d+$/
을 사용해보십시오.
jQuery가 주위에 떠있는 경우 $('div[id^="aa__"]')
을 사용할 수 있습니다. jQuery를 사용하는 사람들을 위해
는 :
$('div[id^="aa_"]')
그래, 그게해야한다. – buley
또한 브라우저가'querySelectorAll'를 지원하는지 테스트 한 다음'div [id^= 'aa _']'를 사용할 수도 있습니다. –
@Felix Kling 그게 재미 있지? : P (하지만, 곧 편집을 참조하십시오). – alex