Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在任何情况下,我都可以在edge browser中获得具有相同ID的所有元素,而无需使用getElementByClassName或querySelectorAll_Javascript_Internet Explorer_Microsoft Edge - Fatal编程技术网

Javascript 在任何情况下,我都可以在edge browser中获得具有相同ID的所有元素,而无需使用getElementByClassName或querySelectorAll

Javascript 在任何情况下,我都可以在edge browser中获得具有相同ID的所有元素,而无需使用getElementByClassName或querySelectorAll,javascript,internet-explorer,microsoft-edge,Javascript,Internet Explorer,Microsoft Edge,我尝试过使用这个(我知道ID不应该相同,但在IE中不能不同): 但它只给我一个元素,但我需要计算元素的长度,它是176。不要问我为什么;这是要求 我必须让我的项目为IE版本5到11和Edge运行。从和文档中,我们可以看到:getElementById()方法支持IE5.5+,getElementsByClassName()方法支持IE9+,querySelectorAll()方法支持IE8+ 要在旧IE浏览器中查找多个元素,可以使用或方法查找这些元素 getElementsByName和getE

我尝试过使用这个(我知道ID不应该相同,但在IE中不能不同):

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

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

从和文档中,我们可以看到:getElementById()方法支持IE5.5+,getElementsByClassName()方法支持IE9+,querySelectorAll()方法支持IE8+

要在旧IE浏览器中查找多个元素,可以使用或方法查找这些元素

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>






var items=document.getElementsByName(“inputvalue”); console.log(items.length)//产出:5 var items2=document.getElementById(“内容”).getElementsByTagName(“输入”); console.log(items2.length)//产出:5
糟糕的代码风格,只需将要选择的每个元素赋予相同的类,这应该适用于Edge。另一个建议是使用jquery,它也适用于Edge。class不适用于9以下的internet explorer可能的重复项,因为一些奇怪的原因,我写这篇文章只得到了前两个元素
<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>