Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取id';具有特定类的所有子元素的_Javascript_Jquery - Fatal编程技术网

Javascript 获取id';具有特定类的所有子元素的

Javascript 获取id';具有特定类的所有子元素的,javascript,jquery,Javascript,Jquery,我需要从获取“车辆”类别的id。如何使用jquery/javascript实现这一点?可以通过迭代所有元素来完成吗?提前谢谢 <ul id="ulList"> <li id="car" class="vehicle"> <li id="bus" class="vehicle"> <li id="cat" class="animal"> <li id="dog" class="animal"> <li id="b

我需要从
获取“车辆”类别的id。如何使用jquery/javascript实现这一点?可以通过迭代所有元素来完成吗?提前谢谢

<ul id="ulList">
  <li id="car" class="vehicle">
  <li id="bus" class="vehicle">
  <li id="cat" class="animal">
  <li id="dog" class="animal">
  <li id="bike" class="vehicle">
  <li id="monkey" class="animal">
</ul>
使用

另外,如代码段(
class=”“
)中所示更正HTML标记

最后,如果您需要一个真正的JavaScript数组(而不是一个字符串的jQuery集合——jQuery的集合[集合]通常包含DOM元素,但可以包含任何内容),请使用

var id=$('#ulList.vehicle').map(函数(){
返回$(this.attr('id');
}).get();
控制台日志(ids)


车辆ID
是一个数组,您可以将
类为
车辆的所有元素ID推送到该数组中

var vehicleIds = [];
$(".vehicle").each(function(){
   vehicleIds.push($(this).attr("id"));
});
alert(vehicleIds);

然后,我在末尾警告数组。

由于jQuery已经有了其他答案,这里有一个使用vanila Javascript的替代方法:

var车辆=document.queryselectoral(“ul#ulList>li.vehicle”);
var id=[].map.call(车辆、功能(elem){
返回元素id;
});
控制台日志(ids)
这里div是必须在数组中推送其子元素id的元素&“main”是该div的id


希望这将对您有所帮助。

可以通过迭代所有元素来完成吗?您试过了吗。@我想
.get()
也应该在那里,因为您正在使用jquery的
.map()
。@Jai…但是对于较旧的浏览器,需要使用polyfilled。jQuery满足了这一要求,非常感谢。工作得很好。@ShiyaamSundar,很高兴它起到了作用,我感谢TJ Crowder、Jai和RGraham的建设性意见:)我做了一些小改动,但这个解释有帮助,谢谢@永远感谢SuperBiasedMan的帮助,欢迎!
$('div','#main').each(function(){
  array.push($(this).attr('id')); 
});