jQuery将多个项目放入数组并执行ajax调用

时间:2017-05-07 07:42:15

标签: jquery

我有一个元素列表,我需要获取所有要传递给ajax查询的id。是否有一种巧妙的方法来创建包含这些元素的数组或列表?

<li id="a">...
<li id="b">...
<li id="c">...

我如何得到类似:items =&#34; a,b,c&#34 ;;

3 个答案:

答案 0 :(得分:3)

&#13;
&#13;
(function () {
  var items = $('li').map(function (index, item) {
    return item.id;
  }).toArray();


  console.log(items);
}());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li id="a">1</li>
<li id="b">2</li>
<li id="c">3</li>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

jQuery解决方案:

var optionIds = [];
$.each($("li"),function(i,item) { optionIds.push($(item).attr('id')); });
var str= 'items='+ optionIds .join(',');
alert(str);

答案 2 :(得分:0)

Javascript解决方案:

var idArray = [];
document.querySelectorAll('li').forEach(function(e){
    idArray.push(e.id);
});
console.log('items='+idArray.join(','))

注意:旧浏览器不支持forEach和querySelectorAll。