如何在ajax响应页面中运行jquery?

我正在使用AJAX分页,这很好用。

它成功返回数据。 例如:-

if (xmlHttp.readyState==4) { document.getElementById("NewsFeedListID").innerHTML=xmlHttp.responseText; } 

现在NewsFeedListID div包含正确的数据。

现在我必须在响应AJAX页面上使用jQuery,但是jQuery不起作用。

有人可以帮忙吗?

在你的问题的评论部分阅读你的解释我相信乔什已经找到了答案 。

您的jQuery事件无法工作的原因是,您使用$('#delete').click(function() {alert('success');}) “附加”事件处理程序$('#delete').click(function() {alert('success');})到具有id的锚点/按钮删除“(这是#delete部分),然后在替换”#NewsFeedListID“的innerHTML时,从DOM中删除锚”#delete“,所以你要么必须将事件处理程序重新附加到#delete,或者当Josh建议使用一种称为事件委托的技术来保持点击事件触发,即使你正在替换innerHTML。

我将留给你研究“事件委托”并使用jQuery来简化你的ajax请求(查看方法“ load ”以获得一个非常简单的替代你所描述的内容)但是使用$('#delete').live('click',function() {alert('success');})来解决你的直接问题。

最好的办法是在原始页面中包含jQuery,而不是AJAX请求,然后使用.live()绑定事件。 这会将事件绑定到元素,无论它是否包含在页面中。 然后当您通过AJAX插入元素时,您的按钮将起作用。

我理解的是你在返回的页面中有JS代码,它不起作用,它不会工作,因为设置innerHTML并不执行它的JS,它只是放置HTML代码,在这里执行JS代码你将在页面中插入代码后必须对代码进行评估

Eval绝不是一个好主意,我建议你在原始页面中包含所有JS代码,并使用jquery的.live()函数将事件附加到页面加载时不存在的元素。