急急,请问javascript的==运算符问题?
<SCRIPT language=JavaScript>
function changeCheck(obji)
{
document.getElementById("sselect"+obji).checked=document.getElementById("sselect"+obji).checked==true?false:true;
document.getElementById("C"+obji).background=document.getElementById("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>
document.getElementById("sselect"+obji).checked=document.getElementById("sselect"+obji).checked==true?false:true;
document.getElementById("C"+obji).background=document.getElementById("sselect"+obji).checked==true?'red.gif':'';}document.getElementById("sselect"+obji).checked结果是false
true?false:true;结果是false
那么false==false成立,结果为true,
那么document.getElementById("sselect"+obji).checked=true被选中第二句:
document.getElementById("sselect"+obji).checked第一句中已经被选中了,结果是true
true?'red.gif':''结果是'red.gif'字符串
那么true=='red.gif'布尔值和字符串不相等,结果返回false
那么document.getElementById("C"+obji).background=false背景等于false既然背景都等于false假了也就是空没东西,为什么还会显示背景?请指教!第二个问题:我将document.all改成了document.getElementById后,在火狐中点下去后还是不会显示背景,请指教.
<SCRIPT language=JavaScript>
function changeCheck(obji)
{
document.getElementById("sselect"+obji).checked=document.getElementById("sselect"+obji).checked==true?false:true;
document.getElementById("C"+obji).background=document.getElementById("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>
document.getElementById("sselect"+obji).checked=document.getElementById("sselect"+obji).checked==true?false:true;
document.getElementById("C"+obji).background=document.getElementById("sselect"+obji).checked==true?'red.gif':'';}document.getElementById("sselect"+obji).checked结果是false
true?false:true;结果是false
那么false==false成立,结果为true,
那么document.getElementById("sselect"+obji).checked=true被选中第二句:
document.getElementById("sselect"+obji).checked第一句中已经被选中了,结果是true
true?'red.gif':''结果是'red.gif'字符串
那么true=='red.gif'布尔值和字符串不相等,结果返回false
那么document.getElementById("C"+obji).background=false背景等于false既然背景都等于false假了也就是空没东西,为什么还会显示背景?请指教!第二个问题:我将document.all改成了document.getElementById后,在火狐中点下去后还是不会显示背景,请指教.
解决方案 »
- 如何判断JS变量是否定义?
- JS动态调用ActiveX的方法,取得数值,然后显示出来,错在哪里?
- 关于onsubmit的问题 求高手指教
- js文件怎么包含另一个js文件?
- 如何在iframe页面中执行方法定位iframe中元素在父页面中的position位置
- 能否强制从服务器下载而不使用IE临时文件夹中的文件
- 请教各位高手,如何控制一个IE窗口一打开就最大化?对了,是和按下最大化按钮一样的效果,我的代码并没有达到这种效果。
- 问一正侧表达式!
- 100分求:如何用JavaScript来动态生成菜单,数据结构如下,
- 怎么用js调用在客户端调用外部程序??
- 救助高手!onclick事件!
- dreamweaver中应用模板时....
"C"+obji大小写不一致true就直接true?xxx:xxx就可以了,要相反用!true