getElementByName에서 정규 표현식을 사용하여 모든 요소를 반복 처리하는 방법은 무엇입니까?getElementByName & Regex
답변
당신이 좋아하는 말은 경우 가능하지 않을 것이다 다음
var elementArray = document.getElementsByName("/regexhere/");
없음.
당신이하고 싶은 것을하기 위해서는 모든 요소를 얻어야하고, 각 요소를 거쳐 이름을 확인해야합니다.
function findElements(name)
{
var elArray = [];
var tmp = document.getElementsByTagName("*");
var regex = new RegExp("(^|\\s)" + name + "(\\s|$)");
for (var i = 0; i < tmp.length; i++) {
if (regex.test(tmp[i].name)) {
elArray.push(tmp[i]);
}
}
return elArray;
}
과 같은 사용 :
var elName = "customcontrol";
var elArray = customcontrol(elName);
을 아니면 쉽게 할 수있는 모든 요소를 통해 이동 및 배열에 특정 이름을 가진 모든 요소를 추가합니다
Heres는 함수 클래스 이름
function findElements(className)
{
var elArray = [];
var tmp = document.getElementsByTagName("*");
var regex = new RegExp("(^|\\s)" + className+ "(\\s|$)");
for (var i = 0; i < tmp.length; i++) {
if (regex.test(tmp[i].className)) {
elArray.push(tmp[i]);
}
}
return elArray;
}
을함으로써 그리고 사용 등 :
var elClassName = "classname";
var elArray;
if (!document.getElementsByClassName)
{
elArray= findElements(elClassName);
}
else
{
elArray = document.getElementsByClassName(elClassName);
}
이렇게하면 getElementByName을 사용하지 않아도됩니다. 난 당신이 단지 이름의 요소를 찾기 위해 원하는 경우 getElementsByName
의미 생각하지만
"customcontrol는"다음을 사용 :
var regex = new RegExp("(^|\\s)" + name + "(\\s|$)");
당신이 가진 요소를 찾기 위해 원하는 경우 이름으로 시작 "customcontrol는"다음을 사용 :
var regex = new RegExp("(^|\\s)" + name);
편집 :
,당신이 쉬울 것 jQuery를 사용하는 경우, 다음이 할 것 :
var elArray = $("*[name^='customcontrol']");
//Use JavaScript to loop through
for (var a = 0; a< elArray.length;a++)
{
//Loop through each element
alert(elArray[a]);
}
//Or
$("*[name^='customcontrol']").css("color","red"); //Or whatever you want to do to the elements
어떻게 $ ("* [name^= 'customcontrol']"););을 사용하여 반복합니까? – user384080
+1 멋지게 완료, 나는 완전히 jQuery에 내장 된 일치하는 양식이 있다는 것을 잊었습니다. 또한보십시오 : http://stackoverflow.com/questions/190253/jquery-selector-regular-expressions – cgp
@ ronald-yoh 내 대답 업데이트 요소를 루핑하기 위해. –
는 jQuery를에 custom selector를 사용합니다. 아마도 example with parameters을 원할 것입니다.
나는 당신이 그것을 할 수 있다는 것을 결코 알지 못했다! 그건 달아. –
- 1. Regex
- 2. Regex
- 3. Regex
- 4. regex
- 5. REGEX
- 6. Python Regex 대 PHP Regex
- 7. Ruby Regex vs Python Regex
- 8. regex : boost :: xpressive vs boost :: regex
- 9. Regex 설명
- 10. Regex Lookaheads
- 11. '#'with regex
- 12. Regex multiplication
- 13. regex .htaccess
- 14. Regex Question
- 15. Regex comparison
- 16. Regex help
- 17. Regex keywords
- 18. JavaScript Regex
- 19. jquery가있는 Regex
- 20. preg_replace REGEX
- 21. regex replace
- 22. NSPredicate와 Regex
- 23. Regex help
- 24. Regex Nedded
- 25. Regex 고장
- 26. RegEx Validations
- 27. Perl RegEx. @
- 28. -regex 및 -exec를 사용하여 find 명령을 실행하십시오. regex help가 필요합니다.
- 29. `(? = regex)`와`(?! regex)`를 정규 표현식의 중간에 사용할 수 있습니까?
- 30. .Net Regex Match Problem
문제를 어떻게 해결할 수 있다고 생각하는지 설명하지 말고 * 문제 *를 설명하십시오. – Tomalak
동적으로 채워진 컨트롤이 있습니다. ASP 컨트롤이므로 렌더링되는 동안 Id가 변경됩니다. name 속성에는 항상 "customcontrol"이라는 단어가 포함되어 있으므로 모든 컨트롤을 반복 할 수 있다고 생각했습니다. – user384080
이러한 컨트롤을 사용하여 수행해야하는 작업은 무엇입니까? 또한 공통 클래스를 모두 추가 할 수 없습니까? – James