javascript getElementsByTagName

时间:2014-02-23 14:20:06

标签: javascript variables

问题是创建一个函数showLink(),其函数sIndx指向当前选择列表中所选选项的索引。

   <select name="executive" id="executive" class="optionLinks">
      <option value="#">Select a Web site</option
      <option value="http://www.whitehouse.gov">The White House</option>
      <option value="http://www.usda.gov">Department of Agriculture</option>             
   </select>
   <select name="legislative" id="legislative" class="optionLinks">
      <option value="#">Select a Web site</option>
      <option value="http://www.house.gov">House Web Site</option>
      <option value="http://www.house.gov/house  </option>
      <option value="http://clerk.house.gov/">Clerk of the House</option>     
   </select>
   <select name="judicial" id="judicial" class="optionLinks">
      <option value="#">Select a Web site</option>
      <option value="http://www.uscourts.gov">U.S. Courts</option>
      <option value="http://www.uscourts.gov/supremecourt.html">U.S.Supreme              </select>   

我的回答:

function Link()  {   
   sIndex = document.getElementByTagName("select")[this.select].options[selectedIndex];
   location.href = sindex.value;
} 

网页未加载,我仍然看到点击的选项,任何帮助?

1 个答案:

答案 0 :(得分:1)

您错误输入了函数名称,它应该是document.getElementsByTagName(复数“元素”)。

函数document.getElementsByTagName("select")将返回select个对象的数组。要获得正确的对象,您需要知道数组中的正确索引。您正在使用this.select,请务必检查它是否具有正确的值。

即使可行,我也看不到您在代码中定义selectedIndex变量的位置。也许你的意思是这样的:

function Link() {
   var obj = document.getElementByTagName("select")[this.select];
                                   // assuming this ^^^^^^^^^^^ is the right index
   var item = obj.options[obj.selectedIndex];
   location.href = item.value;
} 

您的HTML中也存在拼写错误,#legislative您没有正确关闭value属性,这可能会导致问题。