0
  $("#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

4 回答 4

1

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

$.each($(a), function(i){
  if(e.target.href == $($(a)[i]).attr("href"){
    alert("holy bananas, this is the link you want!");
  }
});
于 2013-04-02T23:51:13.947 回答
1

如果您想<a>为当前页面的哈希查找元素,例如 # mytab

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

或来自字符串/href 属性

var url ="file:///...index.html?#mytab";
var idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
$('a[href="'+hash +'"]')
于 2013-04-02T23:52:34.043 回答
1

$($(e.target).attr("href"))[0]使用或不使用 jQuery怎么样document.getElementById(e.target.getAttribute("href").substr(1))

于 2013-04-02T23:52:39.407 回答
1

您可以使用以下方法更清洁getElementById

var element = document.getElementById(e.target.getAttribute("href").substr(1));
于 2013-04-02T23:53:37.880 回答