jQuery如何在每个分号后插入<br/>标签

时间:2012-09-05 16:40:03

标签: javascript jquery

我正在将一些CSS转储到div中,我希望将其格式化,以便更清晰。基本上我想要做的是在每个分号后插入一个break标记。我已经搜索了一段时间但似乎找不到适合我想做的事情。

我有这样的事情......

HTML

<div class='test'>
color:red;background-color:black;
</div>​

的jQuery

var test = $('.test').text();
var result = test.match(/;/g);   

alert(result);​

我试过了..

var test = $('.test').text();
var result = test.match(/;/g);   

result.each(function(){
$('<br/>').insertAfter(';');
});    

alert(result);​

此外,我在这里开始了一个小提琴..这基本上只返回匹配的角色...... http://jsfiddle.net/krishollenbeck/zW3mj/9/ 到目前为止,这是我能够开展工作的唯一部分。

我觉得我有点朝着正确的道路前进,但我知道这是不对的,因为它错了。我想有一种方法可以在每个匹配元素之后插入一个break标记,但我不确定如何到达那里。任何帮助深表感谢。感谢...

5 个答案:

答案 0 :(得分:10)

尝试这样

var test = $('.test').text();
var result = test.replace(/\;/g,';<br/>');   

$('.test').html(result);​

http://jsfiddle.net/Sg5BB/

答案 1 :(得分:3)

您可以这样使用普通的javascript .replace()方法:

​$(document)​.ready(function(){
    $(".test").html($(".test").html().replace(/;/g, ";<br />"));
});​

小提琴:http://jsfiddle.net/SPBTp/4/

答案 2 :(得分:1)

使用此代码

var test = $('.test').text();
var result = test.split(';').join(';<br />')   

http://jsfiddle.net/FmBpF/

答案 3 :(得分:1)

你不能在文本上使用jQuery选择器,它只适用于元素。

获取文字,只需将每个;替换为;<br/>,然后将其放回原位。

$('.test').html($('.test').text().replace(/;/g, ';<br/>'));

答案 4 :(得分:0)

尝试这样的事情:

var test = $('。test')。text(); var result = test.replace(/; / g,“;
”);
$( '测试')HTML(结果)。 如果你坚持到你的jfiddle,这应该工作。