如何使用jQuery从body元素中提取类?

时间:2013-02-26 22:45:55

标签: jquery

我是jQuery的新手,还在学习正确的做事方式。从body元素中提取类的最佳方法是什么?

具体来说,我正在尝试提取WordPress页面的帖子ID(如下所示:

<body class="single single-project postid-20 logged-in">

所以我可以将它插入到新的3.5上传器中。

2 个答案:

答案 0 :(得分:3)

根本不需要jQuery(它没有任何帮助)。您只需在类名上使用正则表达式:

var id, matches = document.body.className.match(/(^|\s)postid-(\d+)(\s|$)/);
if (matches) {
    // found the id
    id = matches[2];
}

注意:这个正则表达式比其他正则表达式更加小心,因为它需要在匹配之前和之后的类名分隔符(空格或字符串结尾)。

工作演示:http://jsfiddle.net/jfriend00/JcDtJ/

答案 1 :(得分:2)

你可以像这样得到身体上的课程:

$('body').attr('class');

然而,这将返回字符串single single-project postid-20 logged-in。然后,您可以通过各种方法获取该字符串并获得所需的类。我更喜欢避免正则表达式,并且可能会使用这样的东西:

演示:http://jsfiddle.net/p6Ksd/

var postid;    
$.each($('body').attr('class').split(' '), function (index, className) {
    if (className.indexOf('postid') === 0) {
        postid = className;
    }
});