我想添加&#34; <br />
&#34;在html超过50个字符后使用jQuery标记到我的html。
我的HTML:
<table>
<tr>
<td class="ccol1">This is the HTML if its characters exceed 50 characters it should go to next line</td>
</tr>
</table>
我尝试使用谷歌的结果来做到这一点,但似乎没有用。
$( '.ccol1' ).each( function () {
var str = $('td' + '.ccol1');
var htmlfoo = str.match(/.{1,50}/g).join("<br/>");
$( this ).html( str );
});
另外,我必须单独使用jQuery这样做,所以请不要建议使用CSS自动换行。
由于
答案 0 :(得分:2)
以下是基于现有代码的JSFiddle链接。
代码段如下
$('.ccol1').each(function () {
var str = $(this).html();
var htmlfoo = str.match(/.{1,50}/g).join("<br/>");
$(this).html(htmlfoo);
});
请注意var str = $(this).html();
引用each
中的元素,以防止与同一类的其他<td>
元素混淆。
答案 1 :(得分:1)
这是小提琴
$( '.ccol1' ).each( function () {
var str = $('td' + '.ccol1').html();
var htmlfoo = str.match(/.{1,50}/g).join("<br/>");
$( this ).html( htmlfoo );
});
答案 2 :(得分:0)
Demo,请使用css width: 300px; word-wrap: break-word;
答案 3 :(得分:0)
$( '.ccol1' ).each( function () {
var str = $(this).text();
for(var i=1; i<=str.length/50; i++)
{
str = [str.slice(0, (50*i)), '<br/>', str.slice(50*i)].join('');
}
$(this).html(str);
});
答案 4 :(得分:0)
试试这段代码。
<table>
<tr>
<td class="ccol1">This is the HTML if its characters exceed 50 characters it should go to next line</td>
</tr>
</table>
<script src="jquery.js"></script>
<script>
$(function(){
text = $(".ccol1").html();
if(text.length > 50){
var text1 = text.substr(0,49);
var text2 = text.substr(50);
$(".ccol1").html(text1+"<br>");
$(".ccol1").append(text2);
}
});
</script>
希望这是你想要的。