Как выбрать более одного элемента с помощью селектора атрибутов jQuery - PullRequest
1 голос
/ 18 ноября 2009

У меня есть два элемента, которые я хотел бы выбрать

<input id="iMe" /> and <span id="sMe">Blah</span>

Я бы хотел выбрать их обоих:

$("span[id$='Me']") and $("input[id$='Me']")

в одном селекторе. Я пробовал:

$("span,input[id$='Me']") -> Nope
$("span[id$='Me'],input[id$='Me']") -> Nope
$("span[id$='Me']input[id$='Me']") -> Nope

Я бы тоже не против добавить его в коллекцию. Я определенно не хочу создавать больше сценариев, чтобы взломать это. Есть идеи?

Ответы [ 6 ]

9 голосов
/ 18 ноября 2009

Пример страницы: http://jsbin.com/idali (просмотр / редактирование источника на http://jsbin.com/idali/edit)

Должны работать все следующие варианты:

$("span[id$=Me], input[id$=Me]")
$('span[id$=Me], input[id$=Me]')
$("span[id$='Me'], input[id$='Me']")
$('span[id$="Me"], input[id$="Me"]')

(редактировать: приведенный ниже исходный ответ неверен; кавычки необязательны, но разрешены ...)

Вы слишком много цитируете в своих попытках ... Вы хотите

$("span[id$=Me],input[id$=Me]")

Значения атрибутов не указываются в селекторах CSS.

3 голосов
/ 18 ноября 2009

Почему бы не дать двум элементам класс?

<input class="frobbable" id="iMe" /> and <span class="frobbable" id="sMe">Blah</span>

тогда

$(".frobbable")

2 голосов
/ 18 ноября 2009
$('span[id$=Me]').add('input[id$=Me]')
0 голосов
/ 18 ноября 2009
$("span[id$='Me'],input[id$='Me']") -> Yep

Это действительно должно работать так же, как метод add (), так что, возможно, у вас есть проблема где-то еще? Возможно, какая-то древняя версия jQuery?

0 голосов
/ 18 ноября 2009
$("[id$='Me']")

должно работать. Но следите за производительностью, так как это должно пройти через весь DOM.

0 голосов
/ 18 ноября 2009
$('input#iMe, span#sMe');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...