문제는 그 여러 클래스와의 className
속성 목록 공백으로 구분하여 각 클래스 : 당신이 가능한 속도의 혜택을 얻을하지만 여전히 모든 브라우저를 지원하려면
는 여기 polyfill입니다.
<select id="pm" name="pm" class="selValidate pmpop" onmouseover="pmpop();">
가 "selValidate pmpop"
에 해당하는 className
이 있습니다 같은 마크 업.
className
을 사용하여 개별 클래스를 찾으려면 문자열 .match
메서드를 사용하여 문자열에서 클래스를 찾을 정규식을 테스트하거나 문자열을 검색 가능한 토큰으로 분리해야합니다. .match
의
예 : 검색 토큰으로 문자열을 깨는
for (i = 0; i < thisform.elements.length; i += 1) {
if (thisform.elements[i].className.match(/\bselValidate\b|\breq\b|\bvalfocus\b/g) { // relies on .match returning null for no match
//do stuff
}
}
예 :
for (i = 0; i < thisform.elements.length; i += 1) {
var allClasses = thisform.elements[i].className.split(' ');
if (allClasses.indexOf('selValidate') > -1 || allClasses.indexOf('req') > -1 || allClasses.indexOf('valfocus') > -1) { // relies on ECMAScript 5 Array.indexOf support
//do stuff
}
}
// or
for (i = 0; i < thisform.elements.length; i += 1) {
var allClasses = thisform.elements[i].className.split(' ');
for (var j = 0; j < allClasses.length; j += 1) {
if (allClasses[j] == 'selValidate' || allClasses[j] == 'req' || allClasses[j] == 'valfocus') { // should work with any browser that supports JavaScript
//do stuff
}
}
}
또한 .classList
같은 것을 사용할 수 있지만 내가 what browsers you need to target을 모른다. .classList
의
예 : (그게 위해 무엇의) 왼손 운영자에 값을 할당 할 때
for (i = 0; i < thisform.elements.length; i += 1) {
if (thisform.elements[i].classList.contains('selValidate') || thisform.elements[i].classList.contains('req') || thisform.elements[i].classList.contains('valfocus')) { // relies on ECMAScript 5 Array.indexOf support
//do stuff
}
}
는 또한 만 =
을 사용합니다. ==
은 유형 강제 강제적 평등 (또는 "동등한") 테스트이며 ===
은 엄격한 (비 강제적 인) 평등 테스트입니다.
'의 thisform.elements [I] .ClassName과 == "selValidate"' – putvande
그것은 – quesoflorecido
질문 인 ==와 selValidate 건너 뜁니다'왜 "selValidate는"하지 "selValidate의 pmpop"'정확히 –