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()
对它不起作用。