0

テーブルの行数を表示したいと思います。これはすでにPHPで計算して出力していますが、表が折りたたまれている場合は<span>200 rows total</span>Javascriptで切り替えたいと思います。<span>Showing 2 of 200 total rows</span>理想的には、次のようなものが欲しいです:

$(".collapse-count").html('Showing 2 of ' + $(this).data("count") + ' total rows');

マークアップあり:

<span class="collapse-count" data-count="200">Showing 2 of 200 total rows</span>

しかし、これは機能していません。jQueryを使用してこれを行うにはどうすればよいですか?

4

5 に答える 5

2

this.collapse-countコードでは要素を参照せず、htmlメソッドは関数を受け入れ、この関数のコンテキスト内でthis現在の要素を参照します。

$(".collapse-count").html(function(index, oldHTML) {
   return 'Showing 2 of ' + $(this).data("count") + ' total rows';
});
于 2013-03-02T13:55:27.570 に答える
2

this適切なコンテキストで使用する必要があります。

$(".collapse-count").html(function() {
    return 'Showing 2 of ' + $(this).data("count") + ' total rows');
});

にコールバックを渡すと.html()、一致した要素が反復さthisれ、反復内の現在の要素への参照になります。

あなたが持っていた方法では、たまたま の囲み値になったものを使用していましたthis

于 2013-03-02T13:55:33.643 に答える
2

thisあなたがそれを使用している方法で要素のコンテキストを持っていません。

html()メソッドのコールバック関数引数を使用できます。

$(".collapse-count").html(function(){
    return 'Showing 2 of ' + $(this).data("count") + ' total rows';
});
于 2013-03-02T13:56:11.027 に答える
1

これを試して:

$(".collapse-count").html(function() {
return 'Showing 2 of ' + $(this).attr("data-count") + ' total rows';
});
于 2013-03-02T13:56:46.463 に答える
-2

の代わりにSPAN使用する必要があります。.text().html()

于 2013-03-02T13:55:30.673 に答える