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)

第一个console.log显示 115 个字符,第二个显示返回的对象....我做错了什么?

4

1 回答 1

1

像“文本”这样的 jQuery 函数一般有两种形式。如果您不向它们提供任何参数(例如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 回答