1

{ボディにクラスを追加して、そのクラスを削除し、「タグ」html 要素をクリックして新しいクラスに置き換えられるようにしたい。クリックすると、別のクラスが追加されます。

これは、 .click の代わりに選択されたクラスのリンクをチェックすることで実行できますか

html:

<ul id="dates">
<li><a href="#" class="selected">link1</a></li>
<li><a href="#">link1</a></li>
<li><a href="#">link1</a></li>
<li><a href="#">link1</a></li>
</ul>

jQuery:

$('ul#dates li a.selected').bind(function() }
            var htmlStr = $(this).html();
            $('body').attr('class', htmlStr);
        });
4

5 に答える 5

2

毎回 class 属性を完全に置き換えるだけです:

$('ul#dates li a').click(function() {
    var htmlStr = $(this).html();

    if( $(this).is('.selected') ) {
        $('body').attr('class', htmlStr);
    }
});
于 2012-10-03T10:00:41.590 に答える
0

jqueryのaddclassメソッドは、cssで事前定義されたクラスを使用し、クラス名のみが受け入れられます。var htmlStr = $(this).html(); これにより、INNERHtmlプロパティのようなhtmlが要素内のすべてのhtmlコンテンツを取得します。したがって、次のようなクラスを宣言することをお勧めします。

.aClass {
float:left;
}

そしてjqueryで行う:

$('body').addClass('aClass');
于 2012-10-03T10:03:35.883 に答える
0

あなたはJquerytoggleClassメソッドが欲しい

http://api.jquery.com/toggleClass/

if ($(this).is(".foo"))
{
   $(this).toggleClass("foo", false);
   $(this).toggleClass("bar", true);
}
else
{
   $(this).toggleClass("foo", true);
   $(this).toggleClass("bar", false");
}
于 2012-10-03T10:00:37.053 に答える
0

data-Xクラスの代わりに、ボディに属性を設定してみてください$('body').attr('data-clicked-link-html-string', htmlStr);

于 2012-10-03T10:00:37.027 に答える
0

チェックしてください :

$(document).ready(function(){
    $('ul#dates li a').click(function() {
        var htmlStr = $(this).text();
        $('body').attr('class', '').addClass(htmlStr);
    });
});
于 2012-10-03T10:01:32.673 に答える