jjery代码在ajax刷新后无法正常工作

时间:2013-07-23 13:25:30

标签: javascript jquery

我使用以下代码在任何范围内使用类代码使文本变为红色,并且包含文本“无法发送邀请”。这是有效的,但表格是分页结果集的一部分,分页通过ajax更新,因此当他们更改结果页面时,红色会丢失。

如何使用此代码以使用ajax内容的方式工作。

//This works for setting red in the initial page load   
$('table span.code').each( function() {
    if( /(Failed to send invite)/.test($(this).html())) {
        $(this).css('color', 'red');
    }
});

2 个答案:

答案 0 :(得分:2)

您是否尝试在将新内容写入网页时包含此代码? jQuery不能与页面的实时更新一起使用,它运行一次(除非你另有说明)。

您可以随时将其转换为函数,并在每次需要遍历表时运行该函数。

答案 1 :(得分:0)

在ajax请求刷新部分页面后,您必须重新绑定事件处理程序:

$().ready(function () {
    bindHandlers();

    function doAjaxCall() {
        $.ajax({
            ...some codes,
            success: function (result) {
                ...some codes
                bindHandlers();
            }
        });
    }

    function bindHandlers() {
        $('table span.code').each( function() {
            if( /(Failed to send invite)/.test($(this).html())) {
                $(this).css('color', 'red');
            }
        });
    }
});