急大事不妙,javascript的dom火狐中失效了?<SCRIPT language=JavaScript>
function changeCheck(obji)
{
document.all("sselect"+obji).checked=document.all("sselect"+obji).checked==true?false:true;
      document.all("C"+obji).background=document.all("sselect"+obji).checked==true?'red.gif':'';}
</SCRIPT><table border=1>
<tr>
<TD id="c1" onclick="changeCheck(1)" class=ak>11</TD>
<INPUT id=sselect1 style="DISPLAY:none;" value=1 name=select1>
</td>
</tr>
</table>第一:当我点td里的input的时候可以显示出背景,在火狐中点td里的input的时候就显示不出背景了,怎么整?第二:document.all(id)返回的是不是对象数组?如果不是对象数组的话,那么为什么document.all("sselect"+obji).checked后面跟了一个checked属性?如果是对象数组的话,id是唯一的,又怎么能构成对象数组?document.all(id)[0]对象数组后面为什么不跟个[0]呢?
第三:
document.all("sselect"+obji).checked=document.all("sselect"+obji).checked==true?false:true;document.all("sselect"+obji).checked=document.all("sselect"+obji).checked 这样对象属性赋值是什么意思?对象属性可以给对象属性赋值?true?false:true;这个什么意思?看不懂.
第四:document.all("C"+obji).background=document.all("sselect"+obji).checked==true?'red.gif':'';}document.all("C"+obji).background=document.all("sselect"+obji).checked 这个对象属性给背景色赋值??
true?'red.gif':'';<--请详细解释一下.

解决方案 »

  1.   

    document.all是ie的
    通用改成document.getElementByIddocument.all("sselect"+obji).checked=document.all("sselect"+obji).checked==true?false:true; 
    实际就是 document.all("sselect"+obji).checked=!document.all("sselect"+obji).checked;
    三元运算符
    条件?值1:值2
    满足条件就赋值为值1,否则赋值为值2
    <script language="javascript"> 
    function changecheck(obji) 
    {
        document.getElementById("sselect"+obji).checked=!document.getElementById("sselect"+obji).checked; 
        document.getElementById("c"+obji).background=document.getElementById("sselect"+obji).checked?'red.gif':'';

    </script> <table border="1"> 
    <tr> 
    <td id="c1" onclick="changecheck(1)" class="ak">11</td> 
    <input id="sselect1" style="display:none;" value="1" name="select1"> 
    </td> 
    </tr> 
    </table>