-2

HTML

<span class="sentiment-info"></span>

jQuery

$('.sentiment-info').attr('class', 'sentiment neutral');
var val = foo.attr('class');
alert(val);

編集:さて、私が前に言ったことはすべて重要ではありません。この質問をもっと簡単にしましょう。ここで私の構文の何が問題になっていますか? 私は未定義になっています。

EDIT2:「.sentiment-info」はクラスを変更できないようですが、「#sentiment-info」は機能します。これを修正する方法は?

EDIT3:解決策:

var foo = $('.sentiment-info');
foo.attr('class', 'sentiment neutral');
var val = foo.attr('class');
alert(val);
4

4 に答える 4

1

あなたの編集に基づいて、これがあなたが求めているものだと思います:

$('.sentiment-info')
    .removeClass('sentiment-info') 
    .addClass('sentiment')
    .addClass(sentiment);

sentimentだったらpositive変わる

<span class="sentiment-info sentiment-class"></span>

<span class="sentiment-class sentiment positive"></span>
于 2013-08-14T20:59:57.077 に答える
1

クラスを完全に削除するには、

$('.sentiment-info').removeClass(<classname>);

別のクラスを再割り当てするには、次を使用します

$('.sentiment-info').attr('class',<classname>);
于 2013-08-14T20:54:20.847 に答える
0

このようにしてみてください:

$('span.sentiment-info').toggleClass('className');
于 2013-08-14T20:54:54.373 に答える
0
$('.sentiment-class').toggleClass('sentiment ' + sentiment);

したがって、以前に配置したクラスは常に存在し、'sentiment ' + sentimentオン/オフが切り替えられます。

それで:

<span class="sentiment-info sentiment-class"></span>

となります:

<span class="sentiment-info sentiment-class sentiment positive"></span>

そして、トグルすると次のように戻ります:

<span class="sentiment-info sentiment-class"></span>

削除したい場合は、次sentiment-infoのように呼び出します。

$('.sentiment-class').removeClass('sentiment-info').toggleClass('sentiment ' + sentiment);

または、あなたの感情とは逆のトグルが必要な場合は、次のことができます。

$('.sentiment-class').toggleClass('sentiment-info').toggleClass('sentiment ' + sentiment);
于 2013-08-14T21:00:35.497 に答える