获取Href的集合

时间:2016-05-04 11:00:31

标签: javascript jquery

我使用以下代码获取以下html:

$(".ms-rtestate-field")[0];

这是返回

<div class="ms-rtestate-field" dir=""> 
<a href="/DE/Company/OurOrganisation/ActionsDE.pdf">DE</a> 
<a href="/EN/Company/OurOrganisation/Act‌​ionsEN.pdf">EN</a> 
</div> 

如何获取div中所有锚点的hrefs,其中一些div可能列出许多锚点?尝试这个但不好的

$(".ms-rtestate-field")[0].attr(""href);

4 个答案:

答案 0 :(得分:3)

创建一个数组并向其添加href。

var hrefs = [];

$(".ms-rtestate-field a").each(function(){
  hrefs.push($(this).attr("href"));
});

现在你可以访问它们,如:

for(var i=0;i<hrefs.length;i++)
    alert(hrefs[i]);

答案 1 :(得分:1)

$(".ms-rtestate-field a").each(function(){
var href = $(this).attr("href");
});

答案 2 :(得分:0)

  

如何获得第一个href和第二个href?

制作

var firstHREF = $(".ms-rtestate-field a:eq(0)").attr("href");
var secondHREF = $(".ms-rtestate-field a:eq(1)").attr("href");

您需要使用a选择器根据其索引向下一级到特定锚eq

如果您想要hrefs数组,那么只需

var hrefs = [];
$(".ms-rtestate-field a").each(function(){
  hrefs.push( $(this).attr( "href" ) );
});

答案 3 :(得分:0)

  

使用.map通过函数传递当前匹配集中的每个元素,生成一个包含返回值的新jQuery对象。

Array.from()方法从类似数组或可迭代的对象创建一个新的Array实例。

var href = $('.ms-rtestate-field').find('a[href]').map(function() {
  return this.href;
}).get();
console.log(href);
//OR
var href = Array.from($('.ms-rtestate-field').find('a[href]')).map(function(elem) {
  return elem.href;
});
console.log(href);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="ms-rtestate-field" dir="">
  <a href="/DE/Company/OurOrganisation/ActionsDE.pdf">DE</a> 
  <a href="/EN/Company/OurOrganisation/Act‌ionsEN.pdf">EN</a> 
</div>