如何在javascript中仅从文档的一部分按类名获取元素?

如何在javascript中仅从文档的一部分按类名获取元素?,javascript,Javascript,我在页面上有两个网格,它们都有“_status”类。我只想从第二个网格中获取元素 如果我使用这个: var allVariants = document.getElementsByClassName("_status"); 我将从两个网格中获取元素。我的两个网格都有不同的类“grid1”和“grid2”。是否有机会通过以下方式获取我的元素: var allVariants = document.Find("grid2").getElementsByClassName("_status");

我在页面上有两个网格,它们都有“_status”类。我只想从第二个网格中获取元素

如果我使用这个:

var allVariants = document.getElementsByClassName("_status");
我将从两个网格中获取元素。我的两个网格都有不同的类“grid1”和“grid2”。是否有机会通过以下方式获取我的元素:

var allVariants = document.Find("grid2").getElementsByClassName("_status");
?

在我的javascript方法中,我想添加/删除一些类和添加/删除一些InnerText。当我在第二个网格中的某一行上单击radioButton时,我将rowNumber和length(所有行的数量)发送给这个javascript方法。以下是我的javascript方法:

function changeRowCheckedStatus(rowNumber, length) {
$('.radioButtonSelectColumn .radioButton :checked').attr('checked', true);
var allVariants = document.getElementsByClassName("_status");
allVariants[rowNumber - 1].innerText = "Changed";

for (i = 1; i <= length; i++) {
    if (i !== rowNumber) {
        var variant = "variant" + i;
        $('input[variant=' + variant + ']').removeAttr('checked');
        allVariants[i - 1].innerText = "NotChanged";
    }
}
函数更改RowCheckedStatus(行号、长度){
$('.radioButtonSelectColumn.radioButton:checked').attr('checked',true);
var allVariants=document.getElementsByClassName(“_status”);
所有变体[rowNumber-1]。innerText=“已更改”;
对于(i=1;i,您可以使用指向
grid2

var allVariants = document.querySelectorAll('.grid2 ._status');

您可以使用
querySelectorAll()


我可以将id添加到两个网格中,然后可以执行以下操作:

 var allVariants = document.getElementById("grid2").getElementsByClassName("_status");

现在它将作为HTML集合。

document.querySelector('.grid2')。queryselectoral('.u status'))OP表示可能的副本可能是你可以共享示例HTML…OP说网格有<代码>状态> <代码>类。不是<代码>。,我知道。但这不是我评论的重点。我提供的建议选择器也是一个css选择器。OP似乎说状态类是网格的一部分。因此,您当前的选择器将选择网格内的状态类,而不是作为网格一部分的状态类,但var allVariants=document.getElementsByClassName(“_status”);是HTML集合(我需要),var allVariants=document.getElementsByClassName(“_status”)[1];不是HTML集合。查询选择器也有同样的问题。您可以使用
.querySelectorAll
来获取collection@Mamun因为下一行代码是:allVariants[rowNumber]。innerText=“Changed”;@Nemanja,allVariants是一个元素,可能包含更多元素……行编号对我来说毫无意义。
allVariants.innerText=“Changed”
应该可以用。。@Mamun我为我的问题添加了更多的代码和解释。谢谢您的时间。
 var allVariants = document.getElementById("grid2").getElementsByClassName("_status");