jquery - 将所有链接复制到一个变量

标签 jquery foreach

我必须做这样的事情:

我有 html 列表:

<ul>
   <li><a href="abc"></a></li>
   <li><a href="bac"></a></li>
   <li><a href="cab"></a></li>
</ul>

我想在一个变量中包含所有链接并用逗号分隔它们 - 生成变量字符串“abc, bac, cab。”

我可以显示这些链接:

var link = $ ('ul li a') .attr ('href');
alert (link);

但我不能做一个循环,例如:对于每个“li”,复制链接,然后显示:“link1,link2,link3”

最佳答案

使用map() jQuery 中的 方法,有助于根据元素生成数组。稍后使用 Array#join 连接值方法。

var link = $('ul li a')
  .map(function() { // iterate over and generate array
    return $(this).attr('href') // retrive href attribute value
  })
  .get() // retrieve the result as array from jQuery object
  .join(', '); // join the value for prefered output 

alert(link);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>
    <a href="abc"></a>
  </li>
  <li>
    <a href="bac"></a>
  </li>
  <li>
    <a href="cab"></a>
  </li>
</ul>

关于jquery - 将所有链接复制到一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37967759/

相关文章:

javascript - 如何/工具分析下面的json?

C# 暂停 foreach 循环,直到按下按钮

jQuery Accordion 无法将高度设置为内容

javascript - 将长混合字符串变量从 javascript 传递到 GET url 变量的 url 友好方式是什么?

javascript - 尝试使用 jquery ui 自动完成功能完成一些简单的事情

javascript - 获取鼠标相对于放置的 div 的位置

c++ - 混合 Boost FOREACH 宏和 OpenMP 并行化

c++ - 基于范围的for循环对性能有好处吗?

javascript - 如何让我通过 forEach 传递的函数引用其他范围内的变量?

javascript - Angular 重复-重复一次