jQuery用HTML替换字母

时间:2017-05-11 13:51:37

标签: javascript jquery html

我从数据库中提取一些文字,我有,,我想用<br>替换它们,不知道为什么它没有任何想法?

JS代码

$( document ).ready(function() {
    //.MoreInfoText
    var $infotext = $('.MoreInfoText').text().replace(/\+/g, '<br>');
    $.each($infotext, function() {
        $('.MoreInfoText').text($infotext);
    });
});

来自数据库的文字: Ryan于30/01/1998开放,ryan添加了NameOFIteams的numberOFIteams

3 个答案:

答案 0 :(得分:3)

第一次使用replace(/\,/g, '<br>'));只会替换+ (注意g表示替换所有,您也可以使搜索不区分大小写通过&#34; i&#34;参数ex:/gi

第二次使用$('.MoreInfoText').html(),因此您的<br>被视为 HTML 而不是字符串。

&#13;
&#13;
$( document ).ready(function() {
    //.MoreInfoText
    $('.MoreInfoText').html($('.MoreInfoText').text().replace(/\,/g, '<br>'));

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="MoreInfoText">11111,22222,33333,44444,55555</span>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试使用以下代码:

$( document ).ready(function() {
    //.MoreInfoText
    var $infotext = $('.MoreInfoText').text().replace(',', ' ');
    $.each($infotext, function() {
        $('.MoreInfoText').text($infotext);
    });
}); 

答案 2 :(得分:0)

我建议避免使用<br />来添加换行符,您可以考虑使用<p>代替。

$( document ).ready(function() {
    //.MoreInfoText
    $('.MoreInfoText').each(function() {
        var moreArray = $(this).text().split(',');
        var $infotext = '';
        for(var i = 0; i < moreArray.length; i++){
            $infotext += '<p>' + moreArray[i] + '</p>';
        }
        $(this).empty().html($infotext);
    });
});

如果段落尚未在新行中放置,则可以为其添加CSS规则。这有助于将内容与演示文稿分开,这就是CSS的用途。