我希望比我聪明的人能想出来,我觉得我真的很亲密......
请在此处查看: http://jsfiddle.net/9rjW3/4/
这是我添加的Jquery
$('tr:gt(0)').each(function () {
$(this).find('td:eq(2)').html(function () {
if($('span').height() > 18)
return $(this).html().replace('@','\n@');
else
return 'this';
})
})
它有效,但唯一的问题是我还没有弄清楚如何改变这个"这个"到细胞的价值...
当我尝试更改
时return 'this';
到
return $(this).html();
它不起作用,有什么建议吗?
答案 0 :(得分:1)
您不需要$(this).html
,您已经可以直接使用。
$('tr:gt(0)').each(function () {
$(this).find('td:eq(2)').html(function (index, html) {
if($('span').height() > 18) {
return html.replace('@', '<br />@');
} else {
return html;
}
});
});
在\n
之前正确添加@
,您可以在调试控制台中看到它。您可能想要添加<br />
更新
您在某个高度之后进行换行的逻辑不起作用,因为除非您专门设置表格单元格的宽度,否则文本将永远不会换入表格单元格。您必须始终附加中断,或者为该列设置一个宽度。
答案 1 :(得分:1)
我个人建议:
$('tr + tr td:nth-child(3) span').html(function(i,h){
return $(this).height() > 18 ? h.replace(/@/g, '\n@') : h;
});