2009-07-16 89 views
0

我需要从外部页面获取内容并将其作为参数传递给函数。我查看了JQuery文档中的url()方法,但它似乎只能用它将外部内容插入到div或其他HTML元素中。JQuery - AJAX load()方法帮助

基本上我需要做的是:

// I need to insert external page's content into the cont variable, how to do that? 
var cont; 
// so I can pass it to the bt() function (it's a tooltip plugin) 
$('.class').bt(cont, { 
    fill: '#2a4d6b', 
    cssStyles: {color: 'orange', fontWeight: 'bold', width: 'auto'} 
}); 

谁能告诉我,如果这样的事情是可能的?

回答

1

您想使用.get(http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype)加载的插入。它将回调函数作为参数。下面将加载一个链接并将其显示在警报中。

$.get('http://your.website.com/page.html', 
    function (data) { alert(data) }); 

你的例子改写为:

$.get('http://your.website.com/page.html', 
     function (data) { setClass(data); }); 

function setClass(cont) { 
    $('.class').bt(cont, { 
     fill: '#2a4d6b', 
     cssStyles: {color: 'orange', fontWeight: 'bold', width: 'auto'} 
    }); 
} 
2
$.load("http://someplace", function(data){ 
    $('.class').bt(data, { 
     fill: '#2a4d6b', 
     cssStyles: {color: 'orange', fontWeight: 'bold', width: 'auto'} 
    }); 
}); 

否?

也由外部,如何外部?你不能从另一个域获得任何东西,否则这将工作

+0

同意,元素不必须是DOM – 2009-07-16 20:24:14

+1

的一部分,这是可行的,但比不用彷徨,其目的是使用这种方式可以说是低效率的。加载应该用来加载一个元素的内容,回调在那里,所以你可以在加载的数据上执行JavaScript。 – 2009-07-16 20:31:21

+0

它在同一个域上。我可以使用相对URI吗?如控制器/动作/ ID/53423? – 2009-07-16 20:32:56

-1

它应该是可能的。什么应该工作(我没有尝试过这个我自己)是在页面上做一个隐藏的IFRAME。然后,将它的src设置为您需要获取的URL,然后使用DOM访问IFRAME的内容。如果有任何对你来说似乎不清楚的话,请回复此评论。