Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 需要一些关于使用getElementsByTagName的建议吗_Javascript_Getelementbyid_Selectedindex_Getelementsbytagname - Fatal编程技术网

Javascript 需要一些关于使用getElementsByTagName的建议吗

Javascript 需要一些关于使用getElementsByTagName的建议吗,javascript,getelementbyid,selectedindex,getelementsbytagname,Javascript,Getelementbyid,Selectedindex,Getelementsbytagname,任何人都可以向我解释一些关于getElementsByTagName的细节,特别是如何正确地遍历getElementsByTagName返回的节点列表 下面是我的简单脚本,我想在警报窗口中显示一个选定的索引,但使用getElementsByTagName。我知道使用getElementsByTagName来获取所选选项值可能不是一个很好的解决方案,但我仍然希望使用getElementsByTagName,因为它可以帮助我更好地理解这是如何工作的 <script language="Java

任何人都可以向我解释一些关于
getElementsByTagName
的细节,特别是如何正确地遍历
getElementsByTagName
返回的节点列表

下面是我的简单脚本,我想在警报窗口中显示一个选定的索引,但使用
getElementsByTagName
。我知道使用
getElementsByTagName
来获取所选选项值可能不是一个很好的解决方案,但我仍然希望使用
getElementsByTagName
,因为它可以帮助我更好地理解这是如何工作的

<script language="JavaScript">
<!--
   function process(){
     var a = document.getElementById('mySelect');
     var res = a.options[a.selectedIndex].text;

     alert(res);
   }
//-->
</script>

下面是一个HTML片段:

<body>
<select name=""id="mySelect" onchange="process()">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>

1.
2.
3.
4.
5.

所以我的问题是:

有人能告诉我如何使用
getElementsByTagName
而不是
getElementById
使这个脚本工作吗


非常感谢

getElementById返回单个元素,因为id应该是唯一的,所以如果给定id存在,则应该只返回一个元素

getElementsByTagName返回一个节点列表对象,其中包含具有给定标记名的所有元素

 <script language="JavaScript">
<!--
   function process(){
     var a = document.getElementsByTagName('select');
     var res = a[0].options[a[0].selectedIndex].text;

     alert(res);
   }
//-->
</script>

getElementById返回单个元素,因为id应该是唯一的,所以如果给定id存在,则应该只返回一个元素

getElementsByTagName返回一个节点列表对象,其中包含具有给定标记名的所有元素

 <script language="JavaScript">
<!--
   function process(){
     var a = document.getElementsByTagName('select');
     var res = a[0].options[a[0].selectedIndex].text;

     alert(res);
   }
//-->
</script>

使用getElementById获取select和getElementsByTagName获取读取选项

function process(){
    var sel = document.getElementById("mySelect");
    var opts = sel.getElementsByTagName("option");
    for(var i=0;i<opts.length;i++){
        if(opts[i].selected){
             alert(opts[i].innerHTML);
             break;
        }
    }
}
函数过程(){
var sel=document.getElementById(“mySelect”);
var opts=sel.getElementsByTagName(“期权”);

对于(var i=0;i,使用getElementById获取select并使用getElementsByTagName读取选项

function process(){
    var sel = document.getElementById("mySelect");
    var opts = sel.getElementsByTagName("option");
    for(var i=0;i<opts.length;i++){
        if(opts[i].selected){
             alert(opts[i].innerHTML);
             break;
        }
    }
}
函数过程(){
var sel=document.getElementById(“mySelect”);
var opts=sel.getElementsByTagName(“期权”);

对于(var i=0;i技术上,
getElementsByTagName
返回一个NodeList对象,它是一个类似数组的对象。它有一个
.length
属性,并被索引,但其他数组方法如
.pop()
对它不起作用。从技术上讲,
getElementsByTagName
返回一个NodeList对象,它是一个类似数组的对象。它有一个
.length
属性,并被索引,但其他数组方法,如
.pop()
对它不起作用。