javascript无法处理ie8型不匹配

时间:2014-06-19 22:37:15

标签: javascript jquery html internet-explorer-8

JavaScript无法处理IE8 - 捕获类型不匹配 在这条特定的路线上:

from_s.add(temp, from_s.options[0]);

我在Firefox和更高版本的ie上运行了这个搜索/显示代码 工作得很好。我只是不明白,=((我真的非常需要这个 一个人上班,我希望有人可以帮助我=(

这是我的代码,用于搜索关键字并将其置于顶部 列表:

JavaScript的:

<script type="text/javascript">
  function searchstudent(){
    var searchvalue= document.getElementById('search').value;
    var from_s = document.getElementById('students-out');
    for (var i=0;i<from_s.options.length-1;i++){
      var st = from_s.options[i].text;
      if(st.search(searchvalue)>-1){
        var temp = from_s.options[i];
        from_s.add(temp, from_s.options[0]);
      }
   }
 }

和表格:

<form id="search2">
  <input type="text" id="search" onkeyup="searchstudent()" placeholder="Enter Keyword here.. ." /><br/><br/><br/>
  <select name="users-out" id="students-out" multiple="multiple" size="10" onchange="location = this.options[this.selectedIndex].value;">
    <option value="n.html" title="ppp">ppp</option>
    <option value="n.html" title="ppp">yyy</option>
    <option value="g.html" title="qwe">qwe</option>
    <option value="32" title="bond desk">bond desk</option>
    <option value="32" title="qqq">qqq</option>
    <option value="26" title="     ">     </option>
  </select>
</form>

1 个答案:

答案 0 :(得分:1)

看起来像add() does not exist on HTMLSelectElement in IE8.

相反,你可以使用更加一致和标准化的insertBefore() DOM Node method.

from_s.insertBefore(temp, from_s.options[0]);

appendChild()如果你想在最后。

另请参阅:JavaScript Error in add method using IE8