jQuery的.load()没有得到可变
问题描述:
我有这样的代码jQuery的.load()没有得到可变
$(document).ready(function() {
$('a').click(function(e) {
e.preventDefault();
url = $(this).attr('href');
$("body").load(href);
});
});
但它不工作。没有加载。唯一可行的是e.preventdefault()
我做错了什么?
答
$("body").load(href);
应该是:
$("body").load(url);
或者你可以破除变量彻底:
$("body").load(this.href);
+0
yup!谢谢!我很愚蠢:) – cmplieger 2011-04-19 16:53:54
+0
$(“body”)。load(this.href);是最干净的方式! – 2011-04-19 17:03:00
答
您在(this).attr('href');
之前缺少$,并且还会为您的加载函数调用使用值url。
$(document).ready(function() {
$('a').click(function(e) {
e.preventDefault();
url = $(this).attr('href');
$("body").load(url);
});
});
答
已分配的href ATTR变量称为URL,然后试图使用href作为变量。
不好:
url = $(this).attr('href');
$("body").load(href);
好:
url = $(this).attr('href');
$("body").load(url);
怎么样把e.preventDefault() “负载” 之后?另外,你是否看到“href”指向的服务器上发生了什么? – 2011-04-19 16:52:28
你为什么要用XmlHttpRequest来做到这一点? 'a'元素已经做到了这一点。 – 2011-04-19 16:56:31
@ElGuapo:'href'指向哪里?这是一个未定义的变量。 :) – 2011-04-19 16:57:55