value - jquery selector tag a




jQuery OU Seletor? (4)

Daniel A. White Solution funciona muito bem para as aulas.

Eu tenho uma situação onde eu tive que encontrar campos de entrada como donee_1_card onde 1 é um índice.

Minha solução foi

$("input[name^='donee']" && "input[name*='card']")

Embora eu não tenha certeza de como isso é ótimo.

Eu estou querendo saber se há uma maneira de ter lógica "OR" em seletores jQuery. Por exemplo, eu sei que um elemento é descendente de um elemento com classe classA ou classB, e eu quero fazer algo como elem.parents('.classA or .classB') . O jQuery fornece essa funcionalidade?


Eu escrevi um plugin incrivelmente simples (5 linhas de código) para exatamente essa funcionalidade:

http://byrichardpowell.github.com/jquery-or/

Ele permite que você diga efetivamente "get this element, ou se esse elemento não existir, use este elemento". Por exemplo:

$( '#doesntExist' ).or( '#exists' );

Embora a resposta aceita forneça uma funcionalidade semelhante a esta, se ambos os seletores (antes e depois da vírgula) existirem, ambos os seletores serão retornados.

Espero que seja útil para qualquer pessoa que possa acessar essa página por meio do google.


Usar uma vírgula pode não ser suficiente se você tiver vários objetos jQuery que precisam ser unidos.

O método .add() adiciona os elementos selecionados ao conjunto de resultados:

// classA OR classB
jQuery('.classA').add('.classB');

É mais detalhado do que '.classA, .classB' , mas permite criar seletores mais complexos como o seguinte:

// (classA which has <p> descendant) OR (<div> ancestors of classB)
jQuery('.classA').has('p').add(jQuery('.classB').parents('div'));

Use uma vírgula.

'.classA, .classB'

Você pode optar por omitir o espaço.





jquery-selectors