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

Lec*_*ech 4 foreach jquery

我必须这样做:

我有HTML列表:

<ul>
   <li><a href="abc"></a></li>
   <li><a href="bac"></a></li>
   <li><a href="cab"></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

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

我可以显示这些链接:

var link = $ ('ul li a') .attr ('href');
alert (link);
Run Code Online (Sandbox Code Playgroud)

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

Pra*_*lan 7

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);
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)