Pergunta

<span>This is the span I want to select</span>
<div>something here</div>
<a id="start"></a>

Suponha que pode apenas US $ acesso ( '# start'),

Eu tentei $ ( '# start'). Prev ( 'espaço'), mas não funciona.

Foi útil?

Solução

 $('#start')
    .parent()       // gets one up
    .find('span')   // gets the span element

mesmo código usando jsbin sandbox


Nota:

Você não pode usar prev (), uma vez que só recebe o tag anterior e extensão, a partir da marca de âncora não é o anterior é o anterior do anterior

jQuery Documentation

Obter um conjunto de elementos que contêm os irmãos anteriores únicas de cada um dos conjunto combinado de elementos. Usar uma expressão opcional para filtrar o conjunto combinado. Apenas o irmão imediatamente anterior é retornado , nem todos os irmãos anteriores.

prev([filter])

o filtro é filtrar se a marca anterior contém mais de um, como:

<div>
   <span></span>
   <a></a>
</div>
<a id="a2"></a>

para obter o espaço que você usa:

$('#a2').prev('span')

Outras dicas

Estranho, parece que prevAll vai para trás, começando no primeiro logo atrás do elemento inicial e trabalhar seu caminho de volta. Faz sentido, eu suponho. De qualquer maneira, o seguinte trabalhou para mim:

//jquery :

$(document).ready(function(){
    $("#start").prevAll("span:first").css("font-weight", "bold");
  });

// html: 


<span>This is the span I don't want to select</span>
<span>This is the span I want to select</span>
<div>something here</div>
<a id="start">Stuff</a>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top