我是jQuery的新手,还在学习正确的做事方式。从body元素中提取类的最佳方法是什么?
具体来说,我正在尝试提取WordPress页面的帖子ID(如下所示:
<body class="single single-project postid-20 logged-in">
所以我可以将它插入到新的3.5上传器中。
答案 0 :(得分:3)
根本不需要jQuery(它没有任何帮助)。您只需在类名上使用正则表达式:
var id, matches = document.body.className.match(/(^|\s)postid-(\d+)(\s|$)/);
if (matches) {
// found the id
id = matches[2];
}
注意:这个正则表达式比其他正则表达式更加小心,因为它需要在匹配之前和之后的类名分隔符(空格或字符串结尾)。
答案 1 :(得分:2)
你可以像这样得到身体上的课程:
$('body').attr('class');
然而,这将返回字符串single single-project postid-20 logged-in
。然后,您可以通过各种方法获取该字符串并获得所需的类。我更喜欢避免正则表达式,并且可能会使用这样的东西:
var postid;
$.each($('body').attr('class').split(' '), function (index, className) {
if (className.indexOf('postid') === 0) {
postid = className;
}
});