0

我试过添加console.log,但我想不通。

$(this).href

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

仿佛

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

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

有小费吗?

4

3 回答 3

3

$(this)是一个 jQuery 对象,并且没有href.

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

不同的是,$(this).attr('href')return'test.php'this.hrefreturn'http(s?)://test.com/test.php'

于 2013-04-27T00:58:34.013 回答
0

你需要使用:

$(this).attr("href")

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

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

会给:

test.php
于 2013-04-27T00:58:12.777 回答
0

不!

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

如果你试试:

$(this).get(0).href

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

但是,一个更漂亮的获取属性的方法是:

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

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

于 2013-04-27T00:58:23.400 回答