在另一个页面上加载 div 的内容

25

从这段代码中可以看到它从哈希标签中加载内容URL。是否有办法仅从外部页面加载单个

元素?

$(function() {
    if(location.hash) $("#content_inload").load(location.hash.substring(1)); 
    $("#nav a").click(function() {
            $("#content_inload").load(this.hash.substring(1));
    });
});

我想要做的是在.substring(#inload_content(1))之后执行某些操作,但这并不起作用。

谢谢。


请注意,其他页面中的 div 可能不是由 JavaScript 创建的。 - user142019
2个回答

57
你只需要在URL后面加上一个jQuery选择器。
参见:http://api.jquery.com/load/ 直接从API中获取的示例:
$('#result').load('ajax/test.html #container');

这段代码会从指定的url加载#container元素。


好的,非常感谢。然而,在我们遇到这种情况时该怎么办呢?比如说,我们并没有一个精确的URL,而是有一个this.hash.substring。显然,使用this.hash.substring '#container' 是行不通的,那么应该怎么做呢? $("#content_inload").load(this.hash.substring(1)); - RIK
@Robin Knight $("#content_inload").load('this.hash.substring(1) #container'); 应该可以工作。 - Radu
不幸的是,因为this.hash.substring没有被包含在括号中,所以它无法正常工作。 它可能是这样的:this.hash.substring(1)'#container',但是这并不能正常工作,因此可能需要其他东西。 有什么建议吗? - RIK
@Robin Knight 请尝试:this.hash.substring(1) + ' #container' - Radu
太棒了。但是加载脚本没有加载XFBML Like按钮。有什么办法让它也能工作吗?示例网址:http://www.divethegap.com/update/events/ - RIK
显示剩余2条评论

11

是的,请参考http://api.jquery.com/load/上的“加载页面片段”。

简而言之,您需要在URL后面添加选择器。例如:

$('#result').load('ajax/test.html #container');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接