1

jQuery 1.4removeClass();は引数として関数を取るようになったためです。

私の<body>タグにはいくつかのクラスが追加されています。例:

<body class="heading-helvetica para-georgia pattern-flowers">

クラス名を置き換えたいと思っています。関数removeClass()が役立つと思いますが、jQuery サイトのドキュメントをよく理解していないし、正規表現も得意ではありません。

たとえばheading-helveticaheading-myriadまたはなどpara-georgiaをどのように置き換えることができpara-timesますか?

私は以前、次のようなものを使用していました。これは、置き換えようとしているクラス名がクラス名のリストの最初にある場合にのみ機能します。

$('#headings li').click(function(){
    var this_class = $(this).attr('id');
    $('body[class|="heading"]').removeClass();
    $('body').addClass(this_class);
});
4

2 に答える 2

2

タグからクラスのリストを取得し、bodyそれらを反復/解析する必要があります。

クラスの取得方法については、この記事を参照してください。

jQueryで要素のクラス一覧を取得

追加するクラスのリストと削除するクラスのリストを把握する必要があります。removeClass メソッドのパラメーターとして関数を使用する必要はありません。クラスも追加する必要があるため、おそらく間違った方法です。

于 2011-11-07T18:13:15.157 に答える
0

それらすべてを処理したい場合は、.attr()代わりに使用できます。例:

var prev = $("body").attr('class'); $("body").attr('class', prev.replace('helvetica', 'myriad'));

ただし、これはかなり広い範囲ですが、何をしているかによっては、 and を使用したほうがよい場合がありremoveClass()ますaddClass()

于 2011-11-07T18:08:48.020 に答える