Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery如何插入<;br/>;在每个分号后面加上标记_Javascript_Jquery - Fatal编程技术网

Javascript jQuery如何插入<;br/>;在每个分号后面加上标记

Javascript jQuery如何插入<;br/>;在每个分号后面加上标记,javascript,jquery,Javascript,Jquery,我正在将一些CSS转储到一个div中,并希望对其进行格式化,使其更清晰。基本上我想做的是在每个分号后面插入一个break标记。我已经四处搜索了一段时间,但似乎找不到完全适合我正在尝试做的事情 我有这样的东西 HTML <div class='test'> color:red;background-color:black; </div>​ 我也试过了。 var test = $('.test').text(); var result = test.match(/;/g);

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

我有这样的东西

HTML

<div class='test'>
color:red;background-color:black;
</div>​
我也试过了。

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

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

alert(result);​
var test=$('.test').text();
var结果=测试匹配(/;/g);
result.each(函数(){
$('
')。在(';')之后插入; }); 警报(结果);​
我也在这里开始演奏小提琴。。它基本上只返回匹配的字符。。。 到目前为止,这是我唯一能够开始工作的部分

我觉得我正沿着正确的道路前进,但我知道这是不对的,因为它出错了。我认为有一种方法可以在每个匹配的元素后插入一个break标记,但我不确定如何实现。非常感谢您的帮助。谢谢…

像这样试试看

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

$('.test').html(result);​
var test=$('.test').text();
var result=test.replace(/\;/g,;
); $('.test').html(结果);​
使用此代码

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

试试这样的方法:

var test=$('.test').text(); var结果=测试。替换(/;/g,;

$('.test').html(结果); ​
如果你把它放在你的小提琴里,那应该有用

不能对文本使用jQuery选择器,它只对元素有效

获取文本,只需替换每个
带有

,然后将其放回原处

$('.test').html($('.test').text().replace(/;/g, ';<br/>'));
$('.test').html($('.test').text().replace(/;/g,;
');
您可以通过以下方式使用普通javascript
.replace()
方法:
​$(文件)​.就绪(函数(){
$(“.test”).html($(.test”).html().replace(/;/g,;
); });​

Fiddle:对于这种小型应用程序,不需要使用正则表达式
.replace()
方法起作用了!:)如果您有多个“;”您需要使用类似于wirey的东西。如果只使用simple
.replace()
它将只替换第一个实例。pre-tag不是将break标记呈现为可查看的代码,而不是像我所希望的那样实际创建break吗?感谢大家的快速响应…我建议将break标记全部匹配起来,并将css粘贴到
标记中,就像您希望格式化一样。我试过了。。。问题是,由于文本是通过jQuery转储进来的,所以它的格式仍然不正确。所以我想我必须在将它转储到div之前格式化它。否则,据我所知。。。pre标记将准确地呈现代码在页面上的位置。regex有缺点吗?不,实际上,是的,这里应该使用regex。我的错(一般来说,对于小级别的内容,我认为我们可以使用基本语法。:)好的,谢谢你的澄清。。我也从你的答案中得到了一些信息。@PraveenKumar:在大多数其他语言中,你会使用普通替换,但在Javascript中,它只会替换第一个实例,所以正则表达式的使用只是使用
g
全局标志。
$('.test').html($('.test').text().replace(/;/g, ';<br/>'));
​$(document)​.ready(function(){
    $(".test").html($(".test").html().replace(/;/g, ";<br />"));
});​