我对此代码有问题,它在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/