我对这个代码有疑问,它在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>
答案 0 :(得分:1)
更改
optionen[i].setAttribute('selected','selected');
到
optionen[i].selected = true;
更一般地说,避免使用setAttribute
来更改DOM属性。有时候它会起作用,有时却不起作用。
来自the MDN:
使用setAttribute()修改某些属性,最值得注意的是值 在XUL中,工作不一致,因为属性指定了默认值 值。要访问或修改当前值,您应该使用 属性。例如,使用elt.value而不是 elt.setAttribute('value',val)。
答案 1 :(得分:1)
您确定关闭了<script>
代码吗?我发现你的代码没有问题,所以要么你没有关闭你的标签,要么你的optionen
或options
变量不存在或有效
同样,你应该知道chrome有一个javascript控制台,可以显示你有任何错误。要打开它,它是ctrl-shift-j
。这应该会对你有所帮助。