[英]this.href vs $(this).attr('href')
阅读本文后, 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')将仅返回制表符-04。
你可以在http://jsfiddle.net/UC2xA/1/看到一个例子。
然而, $(this).attr('href')正好返回我需要的东西,仅此而已。
我的问题是,如何重写(或做必要的) this.href以便它只返回tab-04 ?
编辑
道格,你是对的钱
this.getAttribute('href')
普通Javascript中的href
属性将附加语义。 它返回链接将导致的目标URL。 它的编写方式无关紧要(绝对或相对URL)。
当您使用$(this).attr("href")
您将直接检索href
属性的值,就像任何其他属性一样,因此它将返回HTML中呈现的确切值。
对于你的情况,最好使用$(this).attr("href")
如果您不想使用jQuery,还有另一种解决方案,只使用纯JavaScript:
this.getAttribute('href')
document.getElementById(yourAnchorId).href.split("/")
[document.getElementById(yourAnchorId).href.split("/").length - 1].split("?")[0];
什么只是一个小子串?
例如 :
function getHref(a)
{
var i = a.outerHTML.indexOf('href="')+6;
return a.outerHTML.substring(i, a.outerHTML.indexOf('"', i));
}
PS测试了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.