2

次のコードがあるとします。

$(div.now span).text('now');
$(div.30days span).text('30days');
$(div.60days span).text('60days');

物事を短くしたい場合、これは次のようにするのが論理的なことのようです:

$('span', 'div.now, div.30days, div.60days').text(some text);

さて、短縮版では、テキストをクラス名のテキストに設定したいのですが、その方法がわかりません。何か案は?これは理想的なことではなく、JQuery での単なる実験であることは理解しています。

4

4 に答える 4

3

次のことを試してください。

$("div span").each(function(){
  $(this).text($(this).closest('div').attr('class'))
})​

デモ

于 2012-08-04T03:44:10.747 に答える
0

これはあなたが望むものですか?

$('div.now', 'div.30days', 'div.60days').each(function(){
  $(this).text(this.className); 
});

</ p>

于 2012-08-04T03:44:13.183 に答える
0

を使用してループする必要はありませんeach

それを行う最良の方法は次のとおりです。

$('div span').text(function() {
    return this.parentNode.className;
});

デモ

于 2012-08-04T04:34:14.613 に答える