<a onclick="javascript:func(this)" >here</a>
Cosa thissignifica nello script?
<a onclick="func(this)" >here</a>
<a onclick="javascript:func(this)" >here</a>
Cosa thissignifica nello script?
<a onclick="func(this)" >here</a>
Risposte:
Nel caso in cui chiedi, thisrappresenta l'elemento HTML DOM.
Quindi sarebbe l' <a>elemento su cui è stato fatto clic.
Si riferisce all'elemento nel DOM a cui onclickappartiene l' attributo:
<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>
(Questo esempio utilizza jQuery .)
Il valore degli attributi del gestore di eventi come onclick dovrebbe essere solo JavaScript, senza alcun prefisso "javascript:". Lo pseudo-protocollo javascript: viene utilizzato in un URL, ad esempio:
<a href="javascript:func(this)">here</a>
onclick="func(this)"Tuttavia, dovresti usare il modulo in preferenza. Si noti inoltre che nel mio esempio precedente utilizzando il javascript: pseudo-protocollo "questo" si riferirà all'oggetto finestra piuttosto che <a>all'elemento.
In JavaScript this riferisce all'elemento contenente l'azione. Ad esempio, se hai una funzione chiamata hide():
function hide(element){
element.style.display = 'none';
}
Chiamando hideconthis nasconderà l'elemento. Restituisce solo l'elemento su cui è stato fatto clic, anche se è simile ad altri elementi nel DOM.
Ad esempio, se fai thisclic su un numero nell'HTML di seguito , potresti nascondere solo il punto elenco cliccato.
<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>
Qui (questo) è un oggetto che contiene tutte le caratteristiche / proprietà dell'elemento dom. puoi vedere da
console.log(this);
Verranno visualizzate tutte le proprietà degli attributi dell'elemento dom con la gerarchia. Puoi manipolare l'elemento dom in questo modo.
Descrivi anche sul link sottostante: -
parola chiave presente in addEventListener evento
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>
Quando si chiama una funzione, la parola "questo" è un riferimento all'oggetto che ha chiamato la funzione.
Nel tuo esempio, è un riferimento all'elemento di ancoraggio. All'altra estremità, la chiamata alla funzione accede quindi alle variabili membro dell'elemento tramite il parametro passato.