0

テーブルをウォークスルーして、注目すべき名前の特定の TD を取得し、40 文字で切り捨て、テキストが 40 文字を超える場合は「...」を表示しようとしています。

私が書いた:

var element = $('.maintenanceTable').find('td[name="note"]');
console.log(element.text().length);
if(element.text().length > 40){
    element.text().substring(0, 10) + '....';
}
console.log(element)

1 つ目console.logは 115 文字、2 つ目はオブジェクトが返されたことを示しています。

4

1 に答える 1

1

「テキスト」などの jQuery 関数には、一般に 2 つの形式があります。それらに引数を指定しない場合 (例: text())、要素に含まれる値が返されます。しかし、引数 (例: text("something")) を渡すと、値が設定されます。

したがって、次のようなものが必要です。

var element = $('.maintenanceTable').find('td[name="note"]').first();
if(element.text().length > 40) {
  element.text(
    element.text().substring(0, 39) + '...'
  );
}
于 2013-09-12T18:59:06.843 に答える