我最近才刚看JS对里面的一些东西还不懂,提的问题可能很低级.希望懂的人解答:
格式如下:
<html><head><link rel="stylesheet" type="text/css"/>
<script type="text/javascript" >
function SetState(obj, sytleCls,s,s1)
{
obj.className = sytleCls;
if (sytleCls == 'mouseover')
{
document.getElementById(s).innerHTML="回复</span>|<span>转发</span>|<span>更多操作"; document.getElementById(s1).innerHTML="";
}
else if(sytleCls == 'mouseout')
{
document.getElementById(s).innerHTML= "旧的文本 ";
document.getElementById(s1).innerHTML= "就文本2";
}
}
</script>
<title>
</title>
</head>
<body>
<div onmouseover="SetState(this,'mouseover',0,10)" onmouseout="SetState(this,'mouseout',0,10)"><img src = "C:\Documents and Settings\install.insTALL-31BE561\桌面\个人HTML、js及css测试程序\我的文件夹\a.bmp" align = "left" class="alignTop"><table><tr><td>名称 <span id = '10'>就文本2</span>
<span class = "scolor" id= '0'>旧的文本</span></td></tr><tr><td>内容</td>
</tr>
</table>
</div>
</body>
</html>
当我的鼠标放在该层上时,其背景和一些文本会改变,但是光标无法定位到"就文本"上,测试好像"就文本"完全不在div内部.而且我又想响应那里面的单击事件
即:
document.getElementById(s).innerHTML="<span>回复</span>|<span OnClick=...>转发</span>|<span>更多操作</span>";
格式如下:
<html><head><link rel="stylesheet" type="text/css"/>
<script type="text/javascript" >
function SetState(obj, sytleCls,s,s1)
{
obj.className = sytleCls;
if (sytleCls == 'mouseover')
{
document.getElementById(s).innerHTML="回复</span>|<span>转发</span>|<span>更多操作"; document.getElementById(s1).innerHTML="";
}
else if(sytleCls == 'mouseout')
{
document.getElementById(s).innerHTML= "旧的文本 ";
document.getElementById(s1).innerHTML= "就文本2";
}
}
</script>
<title>
</title>
</head>
<body>
<div onmouseover="SetState(this,'mouseover',0,10)" onmouseout="SetState(this,'mouseout',0,10)"><img src = "C:\Documents and Settings\install.insTALL-31BE561\桌面\个人HTML、js及css测试程序\我的文件夹\a.bmp" align = "left" class="alignTop"><table><tr><td>名称 <span id = '10'>就文本2</span>
<span class = "scolor" id= '0'>旧的文本</span></td></tr><tr><td>内容</td>
</tr>
</table>
</div>
</body>
</html>
当我的鼠标放在该层上时,其背景和一些文本会改变,但是光标无法定位到"就文本"上,测试好像"就文本"完全不在div内部.而且我又想响应那里面的单击事件
即:
document.getElementById(s).innerHTML="<span>回复</span>|<span OnClick=...>转发</span>|<span>更多操作</span>";
document.getElementById(s).innerHTML="<span>回复</span>|<span>转发</span>|<span>更多操作<span>";
说白了,是<div><span><span>内容</span></span></div>,"内容"不属于div(层).
"就文本"是在div内部吧,你mouseover的时候这个是不显示的,你给div加个边框看下
因为 div还包含其他部分,只要在div范围内,还没到<td> 就开始改变一句话概括:你的作用范围设定的大了,不是没响应,是响应的div范围大了。修改 将 onmouseover="SetState(this,'mouseover',0,10)" onmouseout="SetState(this,'mouseout',0,10)" 改到表格中第一行tr里面
如下 <tr onmouseover="SetState(this,'mouseover',0,10)" onmouseout="SetState(this,'mouseout',0,10)">
如下 <tr onmouseover="SetState(this,'mouseover',0,10)" onmouseout="SetState(this,'mouseout',0,10)">后,也满足不了要求啊!
2 innerHtml 也许不能这样直接调用onclick事件,也许就是根本不支持,这个我也不太清楚。你可以换一个方法来写。比如用div隐藏,就是css 的。obj.style.display="none"; 和obj.style.display="";。obj 可以是很多类型的。 类似于这种办法的。
关于2 的话,我会继续查资料看的,如果 2 的问题找到了解决办法,也告诉我一声啊
晚安
这个click出来了嘛?