js销毁/隐藏网页对象(div)问题

小忙儿 2009-12-02 11:06:06
我有几个超链接调用JS创建了一个DIV,用完了之后就关闭(其实是隐藏)了,要的时候还能再点出来,一直都没事的~
换了IE7,发现把DIV关闭(其实是隐藏)了之后有些区域的 HOVER 没了,超链接也不能点了。
但IE6,IE5.5,IE8都正常,就IE7不行~

当时没明白问题的关键,把CSS和HTML改得面目全非,还好我有备份,呵呵~
后来终于发现不能点的区域好象就是那些关掉的DIV的范围...狂晕~~~

遗憾的是我的JS水平几乎为0,所以只好把隐藏的层先移动到 LEFT 为 -3000 的位置,这样就消除了影响~~
后来我在百度上找啊找啊,终于让我找到一位大神的话:

3楼 2006-12-21 19:30 liaohaiying [引用] [回复]

obj.removeNode();
obj.removeNode(true);
obj.outerHTML = "";
这些都可以的啊,如果你不能用可能是机子的问题吧,不过我觉得你是不是想连checkbox后面的<%=m.get("km_mc")%>一起删除啊?

这样的话就把这些都放在一个DIV里面,删除这个DIV就行了



本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/discuss/1/061221/17/279748_1.html


经过测试,结果如下:

function cls(obj)
{
var win = obj.parentNode.parentNode;
var sha = win.nextSibling;
//win.style.left="-3000";//xiaomanger:先移动到不可见的位置再隐藏,理由是:隐藏只是让对象变透明,但是依然遮盖着一些对象,造成这个区域的对象不可用
//win.style.visibility = "hidden";
//sha.style.left="-3000"//xiaomanger:先移动到不可见的位置再隐藏,理由是:隐藏只是让对象变透明,但是依然遮盖着一些对象,造成这个区域的对象不可用
//sha.style.visibility = "hidden";
//win.removeNode();//删除对象,会出现在底部,破坏页面
//sha.removeNode();//删除对象,会出现在底部,破坏页面
//win.removeNode(true);//删除对象,OK
//sha.removeNode(true);//删除对象,OK
win.outerHTML="";//删除对象,OK
sha.outerHTML="";//删除对象,O
}
...全文
694 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小忙儿 2009-12-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chidaidl 的回复:]
当你隐藏时,可以把DIV的display设置成none阿。然后显示的时候设置成block。
[/Quote]

没有试过哦,我去测试一下~

我的本意其实就是销毁,只是之前以为看不见就是不存在
呵呵~~~
chidaidl 2009-12-04
  • 打赏
  • 举报
回复
当你隐藏时,可以把DIV的display设置成none阿。然后显示的时候设置成block。

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧