是否可以使用indexOf获取选择器

时间:2011-08-29 15:26:26

标签: javascript jquery

    <div id="box_1">
    <div id="box_2">
    <div id="box_3">

如果我想让所有id以'box_'开头,我怎么能这样做..

    $("#box_" + anything )

不幸的是,包装div不会起作用,因为它会将所有其他div放在一边和盒子div之间。

我想我可以给他们所有其他课程,并像这样引用它,但只是想知道是否有类似的东西在那里..谢谢。

5 个答案:

答案 0 :(得分:4)

您可以使用Attribute Starts With选择器:

$("div[id^=box_]");

答案 1 :(得分:2)

有可能使用其他人提到的attribute starts with选择器,但为每个元素提供一个类可能更好:

<div id="box_1" class="box"></div>
<div id="box_2" class="box"></div>
<div id="box_3" class="box"></div>

选择:

$(".box")

答案 2 :(得分:1)

是的:

$('div[id^="box_"]');

在这种情况下,因为您尝试使用ID选择器,所以最好切换到元素选择器,并结合属性选择器。

答案 3 :(得分:1)

您可以使用attribute selector

$('[id^="box_"')

这将为您提供身份starts with“box_”的所有元素。如果需要,请使用元素对其进行限定:

$('div[id^="box_"')

答案 4 :(得分:1)

如果您不知道它是以任何字符串开头还是结尾,那么您可以尝试*=选择器,它将在属性值中查看。

$("div[id*='box_']");