Jquery和对象href混淆

时间:2013-04-27 00:54:01

标签: javascript jquery

我已经尝试添加console.log,但我无法理解。

$(this).href

这不是指结束链接的位置吗?

如同

<a href="test.php">here</a>

我们所在的页面是test.com $(this).href会给我们“test.php”或test.com/test.php吗?我需要访问后两者。

任何提示?

3 个答案:

答案 0 :(得分:3)

$(this)是一个jQuery对象,没有href的属性。

您应该使用$(this).attr('href')this.href

区别在于$(this).attr('href')返回'test.php', 并this.href返回'http(s?)://test.com/test.php'

答案 1 :(得分:0)

您需要使用:

$(this).attr("href")

这将返回标签的href本身中的任何内容:

<a href="test.php">here</a>

会给:

test.php

答案 2 :(得分:0)

没有!

使用$查询时,返回一个jQuery对象。

如果您尝试:

$(this).get(0).href

它可以相对于您的链接返回Element对象,并返回正确的属性。

但是,获取属性的更美妙的方法是:

$(this).attr("href");

this关键字仅在链接的上下文中有效(例如,当您在侦听链接中的事件的函数中使用它时)