JavaScript 内部的 AJAX 内容,使用 jQuery 自引用更多 AJAX 内容

JavaScript Inside AJAX Content to Self-Reference More AJAX Content Using jQuery

本文关键字:AJAX 内容 自引用 jQuery 内部 JavaScript 使用      更新时间:2023-09-26

前几天我问了一个类似的问题,并认为我已经解决了,但现在我意识到我没有。不过,我确实从另一个问题中学到了一些有价值的东西,所以我正在创建这个新问题,而不是删除某人的答案信用。这次我会尝试更具体地说明我的问题。

我有一个HTML页面,它使用自定义函数从PHP文件加载一些动态AJAX内容来调用jQuery.ajax,例如:

$('#navigation a').click(function() {
  var getPage = $(this).attr("class");
  generatePage(getPage);
});
function generatePage(pageNum) {
  $('#ajax-content').load(page.php + ' #someDiv-' + pageNum);
}

因此,在这种情况下,您单击主页上#navigation中的任何链接,它会将与其类名匹配的内容(假设在这种情况下是"1",所以#someDiv-1(从页面.php放入也位于主页上的#ajax-content容器中。很好,很好。这部分有效。

当我尝试以相同的方式在检索到的 AJAX 内容中创建链接时,会出现此问题。因此,如果检索到的#someDiv-1内容包含如下链接:

<a href="#" class="4">Page 4</a>

我怎样才能让它工作,以便在单击它时,它将#someDiv-4page.php内容转储到主#ajax-content容器中?我意识到容器甚至不存在在 AJAX 内容中,那么有没有另一种方法可以做到这一点?

寻找 AJAX 专业人士!你不必把答案交给我,但朝着正确的方向大力推动将不胜感激。感谢您的阅读。

我会创建一个jQuery事件处理程序来查找该类名并更改该元素上的URL。

我可能会通过这样做来简化它:

<a href="#" class="linkto _4">Page 4</a>

这样,您可以选择具有"linkto"类的所有元素,$(.linkto) ,并解析其他类名以构建事件处理程序的 URL。

jQuery的.on().live()将自动将事件处理程序连接到通过AJAX加载的内容。

或者,您可以使用 HTML5 data-属性来保存 URL 信息而不是类名:

<a href="#" class="linkto" data-alt_url="_4">Page 4</a>
$('.linkto').data('alt_url')