JQuery - click maniglia
Domanda
Ho una tale costruzione:
<div id="slider">
<div id="nav">
<div class="sliderPart">
<a href="#computers">
<strong>1</strong>
</a>
</div>
<div class="sliderPart">
<a href="#network">
<strong>2</strong>
</a>
</div>
<div class="sliderPart">
<a href="#web">
<strong>3</strong>
</a>
</div>
<div class="sliderPart">
<a href="#support">
<strong>4</strong>
</a>
</div>
</div>
<div id="slider-content">
<a href="#computers" id="slider-computers" class="slider-block">Test1</a>
<a href="#network" id="slider-network" class="slider-block">Test 2</a>
<a href="#web" id="slider-web" class="slider-block">Test 3</a>
<a href="#support" id="slider-support" class="slider-block">Test 4</a>
</div>
</div>
Ora devo gestire cliccando su ' nav ' e ' slider-contenuti ' e ottenere cliccato elemento href-attributo.
$('#slider').click(function(){
console.log( $(this) );
});
Utilizzando questo codice ottengo
[div # cursore]
Soluzione
attr
per ottenere o impostare i valori degli attributi di un elemento:
$('#slider a').click(function(){
console.log( $(this).attr('href') );
});
Il #slider
selettore riferisce all'elemento div che è il motivo firebug uscite [div#slider]
. È possibile indirizzare le ancore al suo interno utilizzando il antenato discendente selettore:
Partite tutti gli elementi discendenti specificato da "discendente" di elementi specificato da "antenato".
che significa mettere l'elemento discendente dopo l'antenato, separati da uno spazio come nell'esempio sopra - $('#slider a')
FYI AL VER 1.6 .prop () ha introdotto. Ulteriori informazioni
La differenza tra gli attributi e le proprietà può essere importante in situazioni specifiche. Prima jQuery 1.6, il metodo .attr () talvolta ha valori di proprietà in considerazione quando si recuperano alcuni attributi, che potrebbero causare un comportamento incoerente. Come di jQuery 1.6, il metodo .prop () fornisce un modo per recuperare in modo esplicito i valori delle proprietà, mentre .attr () recupera gli attributi. Ulteriori informazioni
Per esempio, selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked e defaultSelected devono essere recuperati e impostati con il metodo .prop (). Prima di jQuery 1.6, queste proprietà sono recuperabili con il metodo .attr (), ma questo non era nel campo di applicazione attr. Questi non hanno attributi corrispondenti e sono solo proprietà. Ulteriori informazioni