3

私はjQueryを初めて使用し、それでも物事を行うための適切な方法を学んでいます。body要素からクラスを抽出するための最良の方法は何ですか?

具体的には、WordPressページの投稿IDを抽出しようとしています(次のようになります:

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

だから私はそれを新しい3.5アップローダーに挿入することができます。

4

2 に答える 2

3

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;
    }
});
于 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 に答える