我是 jQuery 新手,仍在学习正确的做事方式。从 body 元素中提取类的最佳方法是什么?
具体来说,我正在尝试提取 WordPress 页面的 Post ID(如下所示:
<body class="single single-project postid-20 logged-in">
所以我可以将它插入到新的 3.5 上传器中。
我是 jQuery 新手,仍在学习正确的做事方式。从 body 元素中提取类的最佳方法是什么?
具体来说,我正在尝试提取 WordPress 页面的 Post ID(如下所示:
<body class="single single-project postid-20 logged-in">
所以我可以将它插入到新的 3.5 上传器中。
您可以像这样获得身体上的课程:
$('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;
}
});
根本不需要 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/