我需要为label标签设置最大宽度,并避免文本溢出jquery。
有优雅的方法吗?
答案 0 :(得分:3)
在标签上指定宽度width: 50px
(比如)。由于label是内联元素,因此您还需要指定display: block
。
现在,在溢出的情况下你想做什么?如果您只是想隐藏不适合的文字,请使用overflow: hidden
。如果你希望它包装到下一行,它将按照上面的规范自动执行此操作,除非有一段很长的不可破坏文本(即不包含任何空格)。在这种情况下,您需要识别太长的字符串(我在下面的示例中使用了15),并在它们之间注入空格:
$('#wrap').text($('#wrap').text().replace(/(\S{15})/g, '$1 '));
答案 1 :(得分:1)
你可以使用一个类:
...在css中
.elegance{
overflow:hidden;
max-width:400px; /* or just width, depending on what you want*/
display:inline-block;
}
...准备好文件
$("label").addClass("elegance");
或者只是使用
将div包围起来$("label").wrap("<div class='elegance'></div>");
如果您不想使用单独的CSS,可以使用.css()
动态设置它答案 2 :(得分:0)
你可以这样做:
$("label").wrap("<div style='width: 200px;'></div>");
或者,总的来说,使用这样的CSS:
.labelWrap { width: 200px; }
像这样的jQuery使用它:
$("label").wrap($("<div />", {"class":"labelWrap"}));