<a onclick="javascript:func(this)" >here</a>
O que thissignifica no script?
<a onclick="func(this)" >here</a>
<a onclick="javascript:func(this)" >here</a>
O que thissignifica no script?
<a onclick="func(this)" >here</a>
Respostas:
No caso que você está perguntando sobre, thisrepresenta o elemento HTML DOM.
Portanto, seria o <a>elemento que foi clicado.
Refere-se ao elemento no DOM ao qual o onclickatributo pertence:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script type="text/javascript">
function func(e) {
$(e).text('there');
}
</script>
<a onclick="func(this)">here</a>
(Este exemplo usa jQuery .)
O valor dos atributos do manipulador de eventos, como onclick, deve ser apenas JavaScript, sem qualquer prefixo "javascript:". O javascript: pseudo-protocolo é usado em um URL, por exemplo:
<a href="javascript:func(this)">here</a>
No onclick="func(this)"entanto, você deve usar o formulário de preferência. Observe também que no meu exemplo acima, usando o javascript: pseudo-protocolo, "isso" se referirá ao objeto da janela em vez do <a>elemento.
Em JavaScript thisrefere-se ao elemento que contém a ação. Por exemplo, se você tem uma função chamada hide():
function hide(element){
element.style.display = 'none';
}
Chamar hidecom thisocultará o elemento. Ele retorna apenas o elemento clicado, mesmo que seja semelhante a outros elementos no DOM.
Por exemplo, você pode ter thisclicar em um número no HTML abaixo para ocultar apenas o marcador clicado.
<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>
Aqui (this) é um objeto que contém todos os recursos / propriedades do elemento dom. você pode ver por
console.log(this);
Isso exibirá todas as propriedades de atributos do elemento dom com hierarquia. Você pode manipular o elemento dom com isso.
Descreva também no link abaixo: -
palavra - chave this no evento 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>