javascript – TypeError:$(…)[1] .attr不是函数

前端之家收集整理的这篇文章主要介绍了javascript – TypeError:$(…)[1] .attr不是函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有链接设置如下:

HTML

<a href="www.example1.com" class="some-link">
<a href="www.example2.com" class="some-link">
<a href="www.example3.com" class="some-link">
<a href="www.example4.com" class="some-link">

我想获得< a>的hrefs标签包含.我尝试迭代每个链接,如下所示:

Javascript / jQuery:

for (x=0; x < 5; x++) {
  link = $(".some-link")[x].attr("href");
  console.log(link);
}

当我尝试这个时,我得到错误TypeError:$(…)[x] .attr不是一个函数.有什么问题?谢谢.

解决方法

你需要在这里使用 eq(),因为$(“.some-link”)[x]返回dom对象 attr()方法只能用于jQuery对象.所以你需要使用 eq(x):eq()
for (x=0; x < 5; x++) {
   link = $(".some-link").eq(x).attr("href");
   console.log(link);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="www.example1.com" class="some-link">
<a href="www.example2.com" class="some-link">
<a href="www.example3.com" class="some-link">
<a href="www.example4.com" class="some-link">
<a href="www.example4.com" class="some-link">

或者您可以使用each()方法代替

$(".some-link").each(function(){
   var link=$(this).attr("href");
   console.log(link);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="www.example1.com" class="some-link">
<a href="www.example2.com" class="some-link">
<a href="www.example3.com" class="some-link">
<a href="www.example4.com" class="some-link">
<a href="www.example4.com" class="some-link">

或更简单的方法使用attr()回调

$(".some-link").attr("href",function(i,link){
   console.log(link);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="www.example1.com" class="some-link">
<a href="www.example2.com" class="some-link">
<a href="www.example3.com" class="some-link">
<a href="www.example4.com" class="some-link">
<a href="www.example4.com" class="some-link">

猜你在找的JavaScript相关文章