Javascript Can';无法获取元素的值

Javascript Can';无法获取元素的值,javascript,tampermonkey,Javascript,Tampermonkey,我试图获取输入元素的值。该元素处于模态中,并且根据我单击以打开模态的按钮,使用不同的值填充模态数据 var modalBody = document.getElementsByClassName("modal-body"); for(var i = 0; i < modalbody.length; i++) { var mac = modalBody.item(i).getElementsByTagName('div')[2].getElementById("mac-name").

我试图获取输入元素的值。该元素处于模态中,并且根据我单击以打开模态的按钮,使用不同的值填充模态数据

var modalBody = document.getElementsByClassName("modal-body");
for(var i = 0; i < modalbody.length; i++) {
    var mac = modalBody.item(i).getElementsByTagName('div')[2].getElementById("mac-name").value;
    alert(mac);
}

而不是使用
getElementsByClassName
然后在每个元素上运行以下命令:

var mac = modalBody.item(i).getElementsByTagName('div')[2].getElementById("mac-name").value;
您可以改为使用
querySelectorAll
并传入
.modal body div#mac name
。这将选择具有类
模态体的元素中
div
内id为
mac name
的所有元素。您可以使用此操作的结果在每个元素上循环并获得每个值:

var macs = document.querySelectorAll('.modal-body div #mac-name');
见下例:

var macs=document.queryselectoral('.modal body div#mac name');
对于(变量i=0;i

身份证件:
轮廓:
名称1
姓名2
MAC地址:
身份证件:
轮廓:
名称1
姓名2
MAC地址:

而不是使用
getElementsByClassName
然后在每个元素上运行以下命令:

var mac = modalBody.item(i).getElementsByTagName('div')[2].getElementById("mac-name").value;
您可以改为使用
querySelectorAll
并传入
.modal body div#mac name
。这将选择具有类
模态体的元素中
div
内id为
mac name
的所有元素。您可以使用此操作的结果在每个元素上循环并获得每个值:

var macs = document.querySelectorAll('.modal-body div #mac-name');
见下例:

var macs=document.queryselectoral('.modal body div#mac name');
对于(变量i=0;i

身份证件:
轮廓:
名称1
姓名2
MAC地址:
身份证件:
轮廓:
名称1
姓名2
MAC地址:

谢谢,但我得到了奇怪的结果。当我加载页面时,我仍然没有得到mac,但如果我刷新页面,我会得到mac。即使我得到了mac,它也只给了我列表中第一个模态的mac。你知道为什么会这样吗?加载时,modals是否已经在页面上,或者你是否需要打开它们(即它们是动态添加到页面中的?)此外,你的网站不应该有多个id为
mac name
的元素。它被认为是无效的html,因为
id
对于元素来说应该是唯一的。在上面的例子中,我还添加了一个额外的模态体,它似乎对我来说工作得很好,因为它得到了两个Mac页面上有一个模态,当我打开一个单击按钮打开模态时,模态数据被加载。它根据我单击的按钮加载不同的数据。我想我需要在点击按钮加载模式后获得mac。谢谢,但是我得到了奇怪的结果。当我加载页面时,我仍然没有得到mac,但如果我刷新页面,我会得到mac。即使我得到了mac,它也只给了我列表中第一个模态的mac。你知道为什么会这样吗?加载时,modals是否已经在页面上,或者你是否需要打开它们(即它们是动态添加到页面中的?)此外,你的网站不应该有多个id为
mac name
的元素。它被认为是无效的html,因为
id
对于元素来说应该是唯一的。在上面的例子中,我还添加了一个额外的模态体,它似乎对我来说工作得很好,因为它得到了两个Mac页面上有一个模态,当我打开一个单击按钮打开模态时,模态数据被加载。它根据我单击的按钮加载不同的数据。我想我需要在点击按钮加载模式后获得mac。