改变数值类

时间:2010-02-07 22:03:00

标签: jquery

我目前有一个wordpress博客,为每个帖子分配一个数字..它也需要这个号码并将其应用到帖子所在的容器中,如此“post-813”

有没有办法用jQuery到我可以说的地方..如果类是810后或更高,添加类“new”??

由于

<div class="post-813 category-uncategorized">
...
</div>

编辑:

我实际上能够打印出这样的ID:

<div id="post-810">

我能够获得第一个ID,但现在我需要为每个ID执行此操作。这怎么可能?

 var number = $('div.post').attr("id");

 var trimmed = number.replace("post-", "");

3 个答案:

答案 0 :(得分:0)

我认为没有一个现成的,但您可以轻松地为它编写自定义JQuery过滤器。请参阅filter()文档和示例

答案 1 :(得分:0)

您可以创建自己的选择器来帮助解决此问题。由于您已经为ID分配了div,因此它可以使选择器编写更容易一些。首先,将其添加到您的代码中。

$.extend($.expr[':'], {
                post810: function(e) {
                    var id = $(e).attr("id");
                    var post = id.replace("post-", "");
                    return (post >= 810);
                }
            });

然后你可以这样做来添加类:

$(':post810').addClass('new')

答案 2 :(得分:0)

试试这个:

var patt = /post-(\d+)/g;
$("div[class*='post']").filter(function(){
    var result = patt.exec($(this).attr("class"));
    return result !== null && parseInt(result[1], 10) >= 810;
}).addClass("new");