我有一个元素列表,我需要获取所有要传递给ajax查询的id。是否有一种巧妙的方法来创建包含这些元素的数组或列表?
<li id="a">...
<li id="b">...
<li id="c">...
我如何得到类似:items =&#34; a,b,c&#34 ;;
答案 0 :(得分:3)
(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;
答案 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。