<a onclick="javascript:func(this)" >here</a>
this스크립트에서 무엇을 의미합니까?
<a onclick="func(this)" >here</a>
<a onclick="javascript:func(this)" >here</a>
this스크립트에서 무엇을 의미합니까?
<a onclick="func(this)" >here</a>
답변:
질문하는 경우 thisHTML DOM 요소를 나타냅니다.
그래서이 될 것이다 <a>클릭 한 요소입니다.
onclick과 같은 이벤트 핸들러 속성의 값은 "javascript :"접두사가없는 JavaScript 여야합니다. javascript : 의사 프로토콜은 URL에 사용됩니다. 예를 들면 다음과 같습니다.
<a href="javascript:func(this)">here</a>
onclick="func(this)"그래도이 양식을 우선적으로 사용해야합니다 . 또한 위의 예에서 javascript : pseudo-protocol "this"를 사용하면 <a>요소가 아닌 창 개체를 참조합니다 .
JavaScript this에서 작업을 포함하는 요소를 참조합니다. 예를 들어 다음과 같은 함수가있는 경우 hide():
function hide(element){
element.style.display = 'none';
}
호출 hide로this 요소를 숨 깁니다. DOM의 다른 요소와 유사하더라도 클릭 한 요소 만 반환합니다.
예를 들어, this아래 HTML에서 숫자를 클릭하면 클릭 한 글 머리 기호 만 숨겨집니다.
<ul>
<li class="bullet" onclick="hide(this);">1</li>
<li class="bullet" onclick="hide(this);">2</li>
<li class="bullet" onclick="hide(this);">3</li>
<li class="bullet" onclick="hide(this);">4</li>
</ul>
여기 (this)는 dom 요소의 모든 기능 / 속성을 포함하는 객체입니다. 당신은 볼 수 있습니다
console.log(this);
그러면 계층이있는 dom 요소의 모든 속성 속성이 표시됩니다. 이것으로 dom 요소를 조작 할 수 있습니다.
또한 아래 링크에 설명하십시오.
키워드 이 로 하여 addEventListener의 이벤트
function getValue(o) {
alert(o.innerHTML);
}
function hide(current) {
current.setAttribute("style", "display: none");
}
var bullet = document.querySelectorAll(".bullet");
for (var x in bullet) {
bullet[x].onclick = function() {
hide(this);
};
};
/* Using dynamic DOM Event */
document.querySelector("#li").addEventListener("click", function() {
getValue(this); /* this = document.querySelector("#li") Object */
});
li {
cursor: pointer;
}
<ul>
<li onclick="getValue(this);">A</li>
<li id="li" >B</li>
<hr />
<li class="bullet" >1</li>
<li class="bullet" >2</li>
<li class="bullet" >3</li>
<li class="bullet" >4</li>
</ul>