选择数字不断增加的元素

时间:2012-11-06 11:13:53

标签: jquery select

我遇到了jQuery的问题。在我的HTML代码中,我有一些像这样的数字上升的元素:

<ul class="flexer-0"> ... <ul class="flexer-1"> ... <ul class="flexer-2">

这个类使用以下代码来获取:

$('ul').addClass(function(index) {
    return 'flexer-' + index;
});

以后如何通过jQuery选择这些元素。

我的想法是这样的:

$("ul.flexer-0") ...
$("ul.flexer-1") ...
$("ul.flexer-2") ...

这很有压力,因为它将成为一个包含许多ul列表的长页面。应该可以使用jQuery获取index-number。

有人有想法吗?

1 个答案:

答案 0 :(得分:2)

如果flexer-n是元素class属性中的唯一类,则可以使用attribute starts with选择器选择所有匹配项:

$('ul[class^="flexer"]')

这将匹配ul属性 class开头的flexer

但请注意,如果您有其他课程,它将无效,例如:

<ul class="foo flexer-3">

我退后一步问:你为什么要拥有所有这些flexer-n课程?这听起来像是一个单独的类,可能与id或者data-* attribute在单个屈肌上相结合,会更有意义。