处理程序中的jQuery变量

时间:2012-08-12 15:51:05

标签: jquery

我是jQuery的新手,我在jQuery中创建了一个历史API-ish脚本,因此只需点击一个新页面中的所需信息。问题是我不知道如何将var放在处理程序中,至少我认为它称为处理程序。这绝对是一件简单的事情。

 $("a#click").click(function() {
 var addressValue = $(this).attr("href");

  $("#main").load("addressValue #load");

 return false;
});

2 个答案:

答案 0 :(得分:3)

如果您使用:

 $("a#click").click(function() {
 var addressValue = this.href;

  $("#main").load(addressValue + " #load");

 return false;
});

它应该工作;问题是你将变量放入字符串中,因此它被评估为变量名,而不是与' #load'字符串连接的变量。

另外,对于href来说,避免调用jQuery要快一点,只使用原生DOM方法(这是微优化,但只是稍微便宜一点)。

值得注意的是this.href确实(有时是有问题的)检索由href属性(包括域)内的任何值隐含的绝对路径。而jQuery方法只是检索属性中的任何内容,所以:

<a href="/help/contact.html">contact page</a>:
this.href            : "http://subdomain.example.com/help/contact.html"
$(this).attr('href') : "/help/contact.html"

答案 1 :(得分:1)

$("a#click").on('click', function() {
    var addressValue = $(this).attr("href");
    $("#main").load(addressValue+" #load");
    return false;
});