this.href vs $(this).attr('href')

use*_*ser 31 javascript jquery

阅读本文后,net.tutsplus.com/tutorials/javascript-ajax/14-helpful-jquery-tricks-notes-and-best-practices/ 我得出结论,使用this.href 更有效.

但是,当我尝试在我的一个项目中使用它时,我看到this.href不仅返回href,还附加了一个网站的url.例如,<a href="tab-04"></a>this.href将返回http://example.com/abc/tab-04 , $(this).attr('href')将仅返回tab-04.

你可以在http://jsfiddle.net/UC2xA/1/看到一个例子.

然而,$(this).attr('href')正好返回我需要的东西,仅此而已.

我的问题是,如何重写(或做必要的)this.href以便它只返回tab-04

编辑

道格,你是对的钱

this.getAttribute('href')

Dou*_*oug 54

href普通Javascript中的属性将附加语义.它返回链接将导致的目标URL.它的编写方式无关紧要(绝对或相对URL).

当您使用时,$(this).attr("href")您将直接检索href属性的值,就像任何其他属性一样,因此它将返回HTML中呈现的确切值.

对于你的情况,最好使用 $(this).attr("href")

如果您不想使用jQuery,还有另一种解决方案,只使用纯JavaScript:

this.getAttribute('href')
Run Code Online (Sandbox Code Playgroud)