2011-01-20 19 views
0

私はwordpress経由で生成されたリストアイテムを持っています。各リスト項目には、例えばcat-item-14のようなクラスがあります。クラス名の一部を削除するjQuery

私は唯一の「猫アイテム - 」を削除し、ただ感謝「14」

任意のポインタとしてクラスを残すためにそう数を表示するには、このクラスを操作する必要があります。

var value 

$("ul > li").each(function() { 
    value = $(this).attr("class").replace("cat-item-", ""); 
    $(this).attr("class", value); 
}); 

が、それは数字を持つクラスの開始を持っているのは良い習慣ではないことにかかわらず、注意してください:

+1

を、あなたはワードプレスにフィルタを追加することができますクラスを出力する関数。 – Cronco

+0

Croncoはおそらくここで良い点を持っています...クライアント側ではないこの作業を行う方が良い - WordPressについては何も知らないので、助けてはいけません。 – Tom

+0

私のjQueryは私のPHPより優れていますが、Croncoと合意しました - 私は現在wordpressをpost_class()関数を使って分類法を出力しています。そのIDだけを出力する - 理想的には私のカテゴリリストと一致し、項目をフィルタリングするcat-item-idする必要があります – tbwcf

答えて

4

私は思います...

しかし... 数値は、クラスやID名の最初の文字であることを許可されていません...だから...私はクラス名に下線文字を追加しますむしろ番号を抽出して、属性に追加し、代わりに他のすべてのクラスを消去し、それが実際にオリジナルのクラスを使用Wordpressのプラグインを妨げる可能性があるため:代わり

$("ul > li").each(function() { 
    var $el = $(this), 
     n = $el.attr("class").match(/cat-item-(.*)/)[1]; 

    $el.addClass(n); 
}); 
4

はこのような何かを試してみてください。

+0

ありがとう - それは私が試していたものに似ていますが、そこに静かではなかったトリックのおかげで! – tbwcf

1

トムはあなたに何を示唆しているのでしょうか?

$("ul > li").each(function() { 
    var value = $(this).attr("class"); 
    value.replace("cat-item-", "_"); 
    $(this).attr("class", value); 
}); 
+0

は私にクラス名ビットでそれを打つ。 – Tom

+0

私はあなたのコメントをリームクラスの名前を取るこの場合は、jsを使用して操作するために使用されるので、うまくいけば私は必要なものを行います。 – tbwcf

関連する問題