我对此代码有问题,它在Firefox和Internet Explorer中可以正常工作,但在Opera和Chrome浏览器中不起作用...

<script>
function planetselect()
{
optionen=document.getElementById('pstart').options;
for(i=0;i<optionen.length;i++)
{
if(optionen[i].value==67080)
{
  optionen[i].setAttribute('selected','selected');
  }
}
optionen=document.getElementById('pdest').options;
for(i=0;i<optionen.length;i++)
{
if(optionen[i].value==67080)
{
  optionen[i].setAttribute('selected','selected');
  }
}
}</script>

最佳答案

更改

optionen[i].setAttribute('selected','selected');




optionen[i].selected = true;


更一般而言,避免使用setAttribute更改DOM属性。有时它起作用,有时却不起作用。

the MDN


  使用setAttribute()修改某些属性,尤其是值
  在XUL中,工作不一致,因为该属性指定了默认值
  值。要访问或修改当前值,您应该使用
  属性。例如,使用elt.value代替
  elt.setAttribute('value',val)。

关于javascript - Chrome和Opera中的选项选择问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17980148/

10-08 23:52