为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能用隐藏来表示删除某一行?

例如当我要删除第二行的时候代码如下

var a = document.getElementsByTagName("tr") ;

 function del() { a[1].style.display = "none" ;}

在HTML中调用函数 <td><a href="javascript:;" onclick="del()" >删除</a> </td>为什么这样不可以?



正在回答

1 回答

隐藏了,还是占内存啊,只是看不到而已,要是需要删除的东西非常多,那占用的内存不就很大么,虽然现在的机器性能非常好,不会在乎这点内存,不过,能少用尽量少用吧

0 回复 有任何疑惑可以回复我~
#1

Cassie_yu 提问者

可能是我的表述不清楚吧,问题是用隐藏后那一行依旧是显示出来的~~
2016-06-14 回复 有任何疑惑可以回复我~
#2

残无殇 回复 Cassie_yu 提问者

我把你的代码复制过去,可以用啊
2016-06-14 回复 有任何疑惑可以回复我~
#3

残无殇 回复 Cassie_yu 提问者

function del(obj){ var a = document.getElementsByTagName("tr") ; obj.parentNode.parentNode.style.display = "none"; }你这样写吧,可以用,刚才那样只能删除第一次
2016-06-14 回复 有任何疑惑可以回复我~
#4

残无殇 回复 残无殇

obj是onclick调用时传的参数,onclick="del(this)"
2016-06-14 回复 有任何疑惑可以回复我~
#5

Cassie_yu 提问者 回复 残无殇

我好像找到不能运行的原因了,因为原有代码里面有一个 window.onload = function del(){},所以我就把 JS 代码放在里面了,Chrome浏览器调试时报错 del is not defined ,所以删除 window.onload = function del(){} 这句话就可以正常使用了,但是我还是不知道为什么会这样,所以,你知道吗?
2016-06-14 回复 有任何疑惑可以回复我~
#6

残无殇 回复 Cassie_yu 提问者

这句话的意思是当网页加载时执行一次,然后不再执行了,而且,一般很少在onload后面的函数取名字的,你的是不是del重名了,还是就是用这个del函数?
2016-06-15 回复 有任何疑惑可以回复我~
查看3条回复

举报

0/150
提交
取消

为什么不能用隐藏来表示删除某一行?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信