0

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

我有一个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)从 page.php 到#ajax-content也位于的容器中在主页上。很好。那部分有效。

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

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

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

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

4

1 回答 1

2

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

通过这种方式,我可能会更容易:

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

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

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

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

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

$('.linkto').data('alt_url')
于 2012-05-07T14:06:52.737 回答