5

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

我有这样的东西...

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/ 这是我迄今为止能够开始工作的唯一部分。

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

4

5 回答 5

12

像这样试试

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

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

http://jsfiddle.net/Sg5BB/

于 2012-09-05T16:42:23.080 回答
3

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

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

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

于 2012-09-05T16:44:17.527 回答
2

使用此代码

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

http://jsfiddle.net/FmBpF/

于 2012-09-05T16:42:41.380 回答
1

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

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

$('.test').html($('.test').text().replace(/;/g, ';<br/>'));
于 2012-09-05T16:43:43.347 回答
0

尝试这样的事情:

var test = $('.test').text(); var 结果 = test.replace(/;/g,";
");
$('.test').html(结果); 如果你把它粘在你的 jfiddle 中,那应该可以工作。

于 2012-09-05T16:43:39.960 回答