我使用以下代码获取以下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/ActionsEN.pdf">EN</a>
</div>
如何获取div中所有锚点的hrefs,其中一些div可能列出许多锚点?尝试这个但不好的
$(".ms-rtestate-field")[0].attr(""href);
答案 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/ActionsEN.pdf">EN</a>
</div>