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]

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top