在任何情况下,我都可以在不使用 getElementByClassName 或 querySelectorAll 的情况下在边缘浏览器中获取所有具有相同 ID 的元素

In any case can i get all the elements with same ID in edge browser without using getElementByClassName or querySelectorAll

我试过用这个(我知道ID不应该一样,但在IE中一定不能不同):

document.getElementById("myid")

但它只给我一个元素,但我需要计算元素的长度是176。不要问我为什么;这是要求。

我必须让我的项目 运行 用于 IE 版本 5 到 11 和 Edge。

getElementById() method, getElementsByClassName() method and the querySelectorAll文档中可以看出:getElementById()方法支持IE5.5+,getElementsByClassName()方法支持IE9+,querySelectorAll()方法支持IE8+。

要在旧版 IE 浏览器中查找多个元素,您可以使用 getElementsByName or getElementsByTagName 方法来查找这些元素。

getElementsByName 和 getElementsByTagName 方法支持 IE5+。

请参考以下示例代码:

<div id="content">
    <input type="text" id="txtvalue" name="inputvalue" value="item 1" /><br />
    <input type="text" id="txtvalue" name="inputvalue" value="item 2" /><br />
    <input type="text" id="txtvalue" name="inputvalue" value="item 3" /><br />
    <input type="text" id="txtvalue" name="inputvalue" value="item 4" /><br />
    <input type="text" id="txtvalue" name="inputvalue" value="item 5" /><br />
</div>

<script> 
    var items = document.getElementsByName("inputvalue"); 
    console.log(items.length);  //output: 5
    var items2 = document.getElementById("content").getElementsByTagName("input"); 
    console.log(items2.length); //output: 5
</script>