使用jquery包装标签文本的最佳方法是什么?

时间:2010-03-25 10:19:04

标签: jquery text split

我需要为label标签设置最大宽度,并避免文本溢出jquery。

有优雅的方法吗?

3 个答案:

答案 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"}));