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

标签 javascript jquery

我有这样设置的链接:

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">

我想得到 href那就是<a>标签包含。我尝试像这样遍历每个链接:

Javascript/jQuery:

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

当我尝试这个时,我收到错误 TypeError: $(...)[x].attr is not a function .有什么问题?谢谢。

最佳答案

您需要使用 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 - TypeError : $(. ..)[1].attr 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023806/

相关文章:

javascript - Aurelia - 等待在路由器预渲染步骤中返回的 promise

javascript - 尝试在轮播中显示 Instagram 图片 - 如何仅在图片加载完成后才加载轮播?

jquery - 如何快速获取json ajax数据并将其存储在localstorage中并在jquery mobile listview中显示

jquery - Flask-Restful API 和 JSON 问题中的 Unicode

jquery - 需要窗口大小调整帮助。更改 div 位置(而不是动画)

javascript - jquery - 附加 html 不会在 div 内附加空字符串

javascript - 弹出窗口不会关闭

javascript - 在 Javascript 中将 Java 颜色转换为 RGB

javascript - 如何从浏览器触发扫描仪?

javascript - 用于动态添加输入字段的 keyup 函数