2014-11-25 3 views
0

다음과 같은 방법을 시도했지만 작동하지 않습니다.하지만 비슷한 것이 있는지 궁금해하고 있습니까?여러 선택기의 특성을 설정하십시오.

기본적으로, 나는 여러 요소에 같은 속성을 설정하려고 해요 : 나는 바닐라 자바 ​​스크립트, 아니 라이브러리를 사용하고

document.querySelectorAll("#id1, #id2, #id3").setAttribute('onclick','return false;'); 

.

답변

2

querySelectorAll() 당신을 통해 루프 필요 배열과 같은 노드 목록을 반환합니다

var elems = document.querySelectorAll("#id1, #id2, #id3"); 
for(var i = 0; i < elems.length; i ++){ 
    elems[i].setAttribute('onclick', 'return false'); 
} 

JSFiddle

2

여기에는 여러 가지 방법이 있습니다, 가장 기본적인 하나의 세트를 반복하고 추가하는 것입니다 (귀하의 경우에는, 당신은 addEventHandler없는 속성을 원한다!) 핸들러를 클릭

var elements = document.querySelectorAll("#id1, #id2, #id3"); 
[].forEach.call(elements, function addClickHandler(el) { 
    el.addEventListener('click', function() { return false; }); 
}; 

아마도 더 나은 많은 요소가있는 경우 pproach는 문서에서 하나의 이벤트 핸들러를 설정하고 쿼리 선택기와 일치하는지 확인합니다.

var elements = [].slice.call(document.querySelectorAll("#id1, #id2, #id3")); //Turn into an array 
document.addEventHandler('click', function(e) { 
    if (elements.indexOf(e.target) !== -1) { //Element in list was clicked! 
     return false; 
    } 
}; 
관련 문제