2011-09-08 174 views
1

我可以传递变量(变量命名测试在这种情况下)到jQuery .load函数吗?将变量传递给jQuery .load函数

$(document).ready(function() { 
$('a').click(function(e) { 
    e.preventDefault(); 
    var test= $(this).attr('href'); 
     $('.window').load($(test));  

}); 

这是行不通的。

+0

您提到您想要在您的某条评论中加载外部网址。但是,负载受到“请求无法成功从不同域,子域或协议中检索数据”的限制。 – Anton

回答

4

你正在打包你的url在调用jQuery。只需通过test,而不是$(test)

$(document).ready(function() { 
    $('a').click(function(e) { 
     e.preventDefault(); 
     var test= $(this).attr('href'); 
     $('.window').load(test);   
    }); 
}); 

此外,您在示例代码中丢失了关闭});。不知道这是否是您的错字或您的实际代码。

+0

谢谢!失踪 });只是输入错误... – Vlada

2

在您的代码中,test是一个字符串。 .load应该采取该字符串,而不是一个jQuery对象。

$('.window').load(test); 

应该工作。

+1

然而,作为一个方面说明,使用“window”作为类名可能是一个坏主意。即使它从不与JavaScript中的任何内容发生冲突,也可能会误导读者读取新代码的人。 – Blazemonger

+0

你是对的......谢谢。 – Vlada