如何使用jQuery属性选择器选择多个元素

时间:2009-11-17 23:55:34

标签: jquery jquery-selectors

我有两个要选择的元素

<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 个答案:

答案 0 :(得分:9)

示例页面: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选择器中没有引用属性值。

答案 1 :(得分:3)

为什么不给这两个元素一个类?

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

然后

$(".frobbable")

答案 2 :(得分:2)

$('span[id$=Me]').add('input[id$=Me]')

答案 3 :(得分:0)

$('input#iMe, span#sMe');

答案 4 :(得分:0)

$("[id$='Me']")

应该有效。但请注意性能,因为这必须通过整个DOM。

答案 5 :(得分:0)

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

这真的应该和add()方法一样,所以也许你在其他地方有问题?一些古老版本的jQuery或许?