私はjQueryを初めて使用し、それでも物事を行うための適切な方法を学んでいます。body要素からクラスを抽出するための最良の方法は何ですか?
具体的には、WordPressページの投稿IDを抽出しようとしています(次のようになります:
<body class="single single-project postid-20 logged-in">
だから私はそれを新しい3.5アップローダーに挿入することができます。
私はjQueryを初めて使用し、それでも物事を行うための適切な方法を学んでいます。body要素からクラスを抽出するための最良の方法は何ですか?
具体的には、WordPressページの投稿IDを抽出しようとしています(次のようになります:
<body class="single single-project postid-20 logged-in">
だから私はそれを新しい3.5アップローダーに挿入することができます。
body のクラスは次のように取得できます。
$('body').attr('class');
ただし、それは string を返します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];
}
注: この正規表現は、一致するもの (空白または文字列の存在/末尾) の前後にクラス名の区切り文字が必要なため、他の正規表現よりも注意が必要です。