Pergunta

Eu tenho essa construção:

             <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>

Agora eu tenho que lidar com clicando em ' nav ' e ' barra-content ' e obter href atributo elemento clicado.

       $('#slider').click(function(){
            console.log( $(this) );
       });

Usando este código eu recebo

[div # deslizante]

Foi útil?

Solução

Use attr para obter ou definir valores de atributo de um elemento:

$('#slider a').click(function(){
    console.log( $(this).attr('href') );
});

O #slider selector refere-se ao elemento div que é por isso firebug saídas [div#slider]. Você pode direcionar âncoras dentro dele usando o ancestral descendente seletor:

Combina todos os elementos descendentes especificado pelo "descendente" de elementos especificado por "ancestral".

Que meios para colocar o elemento descendente após o antepassado, separadas por um espaço, como no exemplo acima - $('#slider a')


FYI AS DE VER 1.6 .prop () introduziu. Mais informações

A diferença entre atributos e propriedades pode ser importante em situações específicas. Antes jQuery 1.6, o método .attr () às vezes levou valores de propriedade em conta ao recuperar alguns atributos, o que poderia causar um comportamento inconsistente. Como jQuery de 1,6, o método .prop () fornece uma maneira para recuperar explicitamente valores de propriedades, ao passo que .attr () recupera os atributos. Mais informações

Por exemplo, selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, e defaultSelected deve ser recuperado e conjunto com o método .prop (). Antes de jQuery 1.6, estas propriedades foram recuperadas com o método .attr (), mas esta não era dentro do âmbito da attr. Estes não têm atributos correspondentes e são apenas propriedades. Mais informações

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top