2011-11-18 94 views
0

我目前生成以下DIV的内容:添加HTML到一个div使用jQuery

<div class="dates" >November 18, 2011 7:30 pm November 19, 2011 7:00 pm </div> 

我想使用jQuery页面的加载改变div来读这样的:

<div class="dates" >November 18, 2011 7:30 pm<br />November 19, 2011 7:00 pm<br /></div> 

希望得到jQuery来的pm在专区内改变实例pm<br />

任何想法?

+0

如果您正在生成div,那么为什么当时不要插入
? –

+0

@SteveWellens,哈!优秀点。 –

回答

0

$('.dates').html($('.dates').html().replace('pm', 'pm<br />'));

http://jsfiddle.net/jLcKa/

+0

这完成这项工作!非常感谢 – user1038620

+0

@ user1038620,你会不会有下午的地方吗? –

0
$('.dates').append($('<br />')); 

会这样吗?

1

你可以使用正则表达式sometihng像

var replaced = $("div.dates").html(); 
replaced = replaced.replace(/pm/gi, "pm <br />") 
$("div.dates").html(replaced); 
+0

必须非常小心,虽然使用该正则表达式,因为它会发现任何和所有pm(全局忽略大小写)的实例并将其替换为下午
szeliga

0

Demo

$(function(){ 
    var dates = $(".dates").html(); 
    var regex = /([ap]m) /gi; 

    dates = dates.replace(regex, "$1<br>"); 

    $(".dates").html(dates); 
}) 
0

这将这样的伎俩:

$(function() { 
    var dates = $('.dates'); 
    var html = dates.html(); 
    html = html.replace(/ (pm) /gi, ' $1 <br /> '); 
    dates.html(html); 
}); 

的jsfiddle here

上面的代码将匹配的所有元素以“日期”级,并且每个“点”,它发现后插入拆分元件,同时尊重原始文本时的壳体。