3

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

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

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

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

4

2 回答 2

3

您可以像这样获得身体上的课程:

$('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;
    }
});
于 2013-02-26T22:49:05.003 回答
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/

于 2013-02-26T22:49:50.700 回答