를 사용하는 경우 두 번째 요소를 선택하는 방법과 프레임 워크 등 같은 jQuery를 및 모더 나이저 작업을 querySelectorAll.단지 내가 최근에 대한 <strong>자바 스크립트</strong> 객체를 배우기 시작했습니다 this.element
나는 더 자바 스크립트 객체가 작동하는 방법을 배우고, 어떻게 자신의 모든 잠재력을 활용하기 위해, 내 자신의 작은 "프레임 워크"을 만들기 위해 노력했다.
그것의 내가 지정한 셀렉터에 여러 요소를 잡아는querySelectorAll()
방법
(및 루프에 대한)를 사용하여 전역 변수를 설정하려고 할 때까지 모든 지금까지 꽤 매끄럽게 갔다.
이렇게 특정 선택자를 사용하여 각 요소에서 class
을 추가하거나 제거하려고했습니다. 그러나, 그것은 낱단의 아주 마지막 성분에 이제까지 작동했다.
var aj = function(sr){
this.selector = sr || null; // set global selector variable
this.element = null;
}
aj.prototype.init = function(){
switch(this.selector[0]){
// first, second, third case e.t.c...
default:
var els = document.querySelectorAll(this.selector); // select all elements with specified selector (set above)
for(var i = 0; i < els.length; i++){
this.element = els[i];
}
}
};
aj.prototype.class = function(type, classes){
if(type === "add"){ // if the user wants to add a class
if((" " + this.element.className + " ").indexOf(" " + classes + " ") < 0){
this.element.className += " " + classes;
}
} else if(type === "remove") { // if the want to remove a class
var regex = new RegExp("(^|)" + classes + "($|)", "g");
this.element.className = this.element.className.replace(regex, " ");
}
};
예 :
<div class="example-class">Example</div>
<div class="example-class">Example 2</div> <!-- only this one will be altered !-->
<script>
$(".example-class").class("add", "classname");
</script>
왜이 발생 될 다음
내 (관련) 자바 스크립트입니까? My for 루프가 올바른 것 같습니다. 그래서 무엇이 잘못되었는지 확실하지 않습니다. 죄송 합니다만, 분명히 보일지라도, 나는 여전히 바닐라 자바 스크립트에 익숙하지 않습니다.
모든 도움 (및 제안)을 부탁드립니다.
감사합니다.
나는 그 일을 시도했다. 그러나 ** 아무 것도 작동하지 않을 것이다 ** : 나는 원래대로 되돌아 갔다. 대답 주셔서 감사합니다 btw :) –
예제를 보여줄 수 있을까요? 아직도 일하지 않는 haha –