在jQuery中取消引用链接的“href”作为DOM元素

时间:2013-04-02 23:41:06

标签: jquery dom href

  $("#my-tab-link").on("show", function(e) {
    console.log(e.target.href);
  });

这将链接的href作为字符串:

file:///...index.html?#mytab

如何访问链接所指向的DOM元素,而不仅仅是其URL?

我可以像这样在其周围徘徊:

$(".known-parent-of-target").find($(e.target).attr("href"))[0]

有更清洁的方式吗?

4 个答案:

答案 0 :(得分:1)

可能不是最优雅的方式,但它应该有效。如果您已经知道它是一个链接,您可以通过所有<循环(或每个)循环。 a> s找到你想要的url并在那里更改它......

$.each($(a), function(i){
  if(e.target.href == $($(a)[i]).attr("href"){
    alert("holy bananas, this is the link you want!");
  }
});

答案 1 :(得分:1)

如果您想要找到当前页面哈希的<a>元素,例如#的 MYTAB

$('a[href="'+window.location.hash+'"]')

或者来自string / href attrib

var url ="file:///...index.html?#mytab";
var idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
$('a[href="'+hash +'"]')

答案 2 :(得分:1)

$($(e.target).attr("href"))[0]或没有jQuery document.getElementById(e.target.getAttribute("href").substr(1))

怎么样?

答案 3 :(得分:1)

你可以使用getElementById

做一点清洁
var element = document.getElementById(e.target.getAttribute("href").substr(1));