<a onclick="javascript:func(this)" >here</a>
스크립트에서 this
은 무엇을 의미합니까?JavaScript onclick의 "this"는 무엇입니까?
<a onclick="javascript:func(this)" >here</a>
스크립트에서 this
은 무엇을 의미합니까?JavaScript onclick의 "this"는 무엇입니까?
약 this
은 HTML DOM 요소를 나타냅니다.
따라서 클릭 한 요소는 <a>
입니다.
누군가 사양에 연결할 수 있습니까? http://www.w3.org/TR/DOM-Level-3-Events의 순진한 모습은 효과가 없었습니다. –
this
onclick
메서드가 속한 개체를 referes. 그래서 내부 func
this
은 a
요소의 DOM 노드이고 this.innerText
은 here
이됩니다.
함수를 호출 할 때, 단어 "이"기준은 함수를 호출 한 객체에 전달합니다.
예에서 앵커 요소에 대한 참조입니다. 그런 다음 함수 호출은 전달 된 매개 변수를 통해 요소의 멤버 변수에 액세스합니다.
onclick과 같은 이벤트 처리기 속성의 값은 "javascript :"접두어없이 JavaScript 여야합니다. 자바 스크립트 : 의사 프로토콜은 예를 들어, URL에 사용됩니다
<a href="javascript:func(this)">here</a>
당신은 생각이 우선으로 onclick="func(this)"
양식을 사용합니다. 자바 스크립트 : 의사 프로토콜을 사용하는 위 예제에서 "this"는 <a>
요소가 아닌 window 객체를 참조합니다.
재미있는 downvote, 비록 내가 엄격 하게이 대답은 질문에 직접 답변보다는 질문 주위에 조언을 제공한다고 가정합니다. –
그래 ... 당신은 정말로 질문에 대답하지 않았습니다 : -/아무것도 개인! – Dave
@Dave : 충분합니다. 내가 이것을 썼을 때 주요 질문이 이미 대답되었다. 내 대답은 아마 코멘트 일 것임에 틀림없지 만, 당시에 코멘트를 추가 할 충분한 담당자가 없었던 것 같습니다. 라이브로 배우십시오. –
JavaScript에서 this
은 동작이 포함 된 요소를 나타냅니다. 요소를 숨길 this
와 hide
를 호출
function hide(element){
element.style.display = 'none';
}
: 당신은 예를 들어, 함수 hide()
을했다. 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>
JMCF125 그는 어쨌든 유용하게 관리 @ . 나는 onclick 이벤트에서 클릭 된 요소를 얻는 방법에 대해 인터넷 검색을하고, 여기서 대답을 찾았습니다. –
javascript는 무엇을합니까? 왜 이런 식으로하지 않습니다 'here ' – J3STER
@ J3STER "javascript :"접두사가 onclick에서 잘못되었습니다. 아래의 [Tim Down 's answer] (https://stackoverflow.com/a/926170/146513)에서 설명을 찾을 수 있습니다. –