获取具有特定类Javascript的表行的id

获取具有特定类Javascript的表行的id,javascript,html,Javascript,Html,我需要获取表中选择了类的每一行的id值。我需要能够在javascript中做到这一点;不是jquery <tr id="1" class="selected"></tr> <tr id="2"></tr> <tr id="3" class="selected"></tr> <tr id="4"></tr> 这将返回一个数组:[1,3] 感谢您的帮助。谢谢。这里有一个使用PureJS的解决方案。根

我需要获取表中选择了类的每一行的id值。我需要能够在javascript中做到这一点;不是jquery

<tr id="1" class="selected"></tr>
<tr id="2"></tr>
<tr id="3" class="selected"></tr>
<tr id="4"></tr>

这将返回一个数组:
[1,3]


感谢您的帮助。谢谢。

这里有一个使用PureJS的解决方案。根本没有Jquery

已使用getElementsByClassName

var cont=document.getElementById(“容器”);
var array=cont.getElementsByClassName(“选定”);
对于(var i=0;i

asdasd
阿斯达斯达斯德
阿斯达斯达斯德
阿斯达斯达斯德

获取元素,转换为数组,提取ID。简单:

var elements = document.getElementsByClassName("selected");
var elements_array = [].slice.call(elements);
var ids = elements_array .map(function(element){ return element.id });
但在jQuery中更容易:

var ids = $(".selected").map(function(index, element){return element.id});

应该是这样的

var elements = document.getElementsByClassName("selected");
var idArray=[];
for (var i = 0, len = elements.length; i < len; i++) {
    idArray.push(elements[i].attr('id'));
}
var elements=document.getElementsByClassName(“选定”);
var-idArray=[];
for(var i=0,len=elements.length;i
您可以使用
querySelectorAll
获取所选元素:

var selected = document.querySelectorAll(".selected");
…然后,您可以通过应用
Array#map
获取它们的
id
s,即使
selected
NodeList
而不是数组:

var ids = Array.prototype.map.call(selected, function(element) {
    return element.id;
});
一应俱全:

var ids = Array.prototype.map.call(document.querySelectorAll(".selected"), function(element) {
    return element.id;
});

querySelectorAll
受到所有现代浏览器以及IE8的支持

Array.prototype.map
存在于所有现代浏览器中,并且可以在旧浏览器(如IE8)上轻松填充


如果您打算经常这样做,那么抓取
映射到变量的副本就很方便了:

var map = Array.prototype.map;

// ...later...

var ids = map.call(document.querySelectorAll(".selected"), function(element) {
    return element.id;
});

好吧,先试试看!如果只想使用javascript,为什么要用jQuery标记?看起来像
selector
var-id=[].slice.call(document.querySelectorAll('.selected')).map(函数(x){return x.id;})@adeneo:这是答案,伙计。但是不需要
切片
varids=Array.prototype.map.call(document.queryselectoral('.selected'),函数(element){return element.id;})“更简单”,因为它是一行?一行,并且没有数组转换。我承认这只是我的观点,只有1000行jQuery使它更容易。哈哈,我可以将代码隐藏在函数中,这样看起来就更容易了。:)工作得很有魅力。谢谢