jQuery Regex Hastag替换

时间:2014-08-04 16:38:59

标签: javascript jquery ajax angularjs hashtag

这是我在div中突出显示主题标签的代码

<script>
        $(document).ready(function (){
            $('.hash').each(function() {
$(this).html($(this).text()
            .replace(/#[a-z0-1A-Z]+/g, '<span style="color: red;">$&</span>'));
 });
        })
    </script>

这是我使用ajax-jquery循环所有帖子的代码:

function update() {

            $.ajax({
                type: "POST",
                url: '{{ path('getData') }}',
                data: {},
                dataType: 'json',
                success: function(response) {
                    var posts = "";
                    $.each(response, function(index, value) {
                        posts += '<a class="list-group-item">' +
                                '<h3 class="list-group-item-heading"><b>' + value.name + '</b></h3>' +
                                '<p class="hash list-group-item-text">' + value.content + '</p>' +
                                '<div style="text-align: right" >' + value.date + '</div></a>';

                    });
                    $('#posts').html(posts);
                },
                error: function() {
                }
            }).success(function() {
                setTimeout(function() {
                    update();
                }, 2000);
            });
        }
        ;

现在我要做的是突出显示具有'hash'类的所有项目(带有主题标签的文本)。但我的问题是,在循环的div中带有主题标签的项目不会突出显示,但是对于其他正常的div,它工作正常。 ajax和angular工作正常,但突出显示主题标签的脚本无法正常使用jquery和angular的循环。我也在我的角度项目中尝试过,我的代码看起来像这样:

<div class="list-group">
                        <div ng-repeat="post in userPost" >

                            <a class="list-group-item">
                                <h3 class="list-group-item-heading"><b>{{post.name}}</b></h3>
                                <p class="hash">{{post.content}}</p>
                                <div style="text-align: right" >{{post.date}}</div>
                            </a>
                        </div>
                    </div>

并且它是一样的。我很高兴你能帮助我解决这个问题。

0 个答案:

没有答案