2

我想搜索 JQuery 的后代搜索hrefs。我想我应该使用该.find()方法,但收效甚微,因为我不确定是将.attr()方法作为参数还是作为后续方法传递。

var trialMethod = function($this) {
  //Ive tried along the lines of this
  $this.find(.attr('href'));
  //and this
  $this.find().attr('href');
}

我正在使用一个点击处理程序(这个专门附加到所有链接,无论它们是否由 JS/JQ 更新),并试图找到href被点击的内容。由于我试图在没有 JS 的情况下最大化网站的功能,因此链接是静态的,然后通过 JS/JQ 替换。因此,当单击链接时,它可能位于 a<li>或 a中<span>。我试图保持约定不声明第 n 个子元素或特定元素,而是搜索,因为 DOM 树可能会更改,因此寻找href属性,我将检查是否单击了某个链接。

1 - 你如何href使用这两种方法找到子元素的 s.find().attr()

2 - 我已经阅读了 JQ API,但只是想澄清一下;.find()方法¿必须?被传递一个参数?如果是这种情况,那么我现在知道不要浪费时间进行类似于我的第二次尝试的尝试......

4

2 回答 2

2

你的意思是:

var allHrefs = $this.find("[href]").map(function() {
    return this.href;
}).get();

?

于 2012-11-25T00:02:36.593 回答
1

要查找具有 HREF 属性的所有链接,只需使用:

$(document).find('a[href]');

rel例如,也可以这样做

$(document).find('a[rel]');
于 2012-11-25T00:02:13.143 回答