Javascript 如何将querySelectorAll缩小到特定ID?

Javascript 如何将querySelectorAll缩小到特定ID?,javascript,Javascript,我有下面的MVC Razor代码,我想做的是将一个表中所有隐藏值的列表放到一个JS列表中 我最终能够得到一个所有隐藏字段的列表,但它也包括页面上我不需要的一些其他隐藏字段。我如何将它缩小到ID=RID的隐藏字段,以及如果我可以得到这些隐藏字段的值,这将更有帮助 下面是我写表格的步骤 <tr> <td>@item.Base</td> <td>@item.Seat</td> <td> @i

我有下面的MVC Razor代码,我想做的是将一个表中所有隐藏值的列表放到一个JS列表中

我最终能够得到一个所有隐藏字段的列表,但它也包括页面上我不需要的一些其他隐藏字段。我如何将它缩小到ID=RID的隐藏字段,以及如果我可以得到这些隐藏字段的值,这将更有帮助

下面是我写表格的步骤

<tr>
    <td>@item.Base</td>
    <td>@item.Seat</td>
    <td>
        @item.Equipment
        @Html.HiddenFor(m => m.RID, new { Value = item.RID })
    </td>
</tr>
我从我找到的一个例子中尝试了这个方法,但没有成功

let listItems = document.querySelectorAll('input[type="hidden"] RID');
and 
let listItems = document.querySelectorAll('input[type="hidden"] #RID');

选择器中ID之前的空格会将其打断,因为空格会导致选择器查找具有该ID的输入的后代。删除空格会检查元素本身的ID

'input[type="hidden"]#RID' 
虽然ID确实应该是唯一的,.querySelectorAll会搜索并返回具有相同ID的多个元素。不过,将该ID设置为一个类并以这种方式选择会更好

要获取值,请使用Array.from,并传递函数作为返回值的第二个参数

let elems = document.querySelectorAll('input[type="hidden"]#RID');
let vals = Array.from(elems, el => el.value);

不能有多个具有相同id的元素。请改用类。我不认为可以将类添加到隐藏字段?选择器中id之前的空格会将其打断。”输入[type=hidden]RID'虽然ID确实应该是唯一的,.querySelectorAll会搜索并返回具有相同ID的多个元素……一个类属性可以用于任何元素。将特定类添加到所需的隐藏类中并进行查询,否则,按自己的方式过滤结果。完美!谢谢你的解释。
let elems = document.querySelectorAll('input[type="hidden"]#RID');
let vals = Array.from(elems, el => el.value);