注册 登录
编程论坛 JavaScript论坛

oRemove=object.removeChild(oNode),其中oRemove是什么意思

桃夭小仙 发布于 2013-11-26 22:15, 1143 次点击
oRemove=object.removeChild(oNode),其中oRemove是什么意思
18 回复
#2
hugeannex2013-11-27 10:05
一般来说就是oNode,如果成功的话oRemove===oNode,如果删除失败,那就是oRemove===null.
明白?
#3
桃夭小仙2013-11-27 10:46
回复 2楼 hugeannex
哦,你懂得还挺多啊,那我去试试
#4
桃夭小仙2013-11-27 13:45
回复 2楼 hugeannex
亲爱的大叔,谢谢您了,我成功了
#5
桃夭小仙2013-11-27 13:53
回复 3楼 桃夭小仙
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
<!--
function remove(){
    var oUl=document.getElementById("u1");
    var oli=document.getElementById("l1");
    var oli1=document.getElementById("l2");
    var oli2=document.getElementById("l3");
    oli=oUl.removeChild(oli);
    oli1=oUl.removeChild(oli1);
    oli2=oUl.removeChild(oli2);
   
   
}
//-->
</script>
</head>

<body>

<ul  id="u1">
<li  id="l1">牛奶</li>
<li id="l2" >咖啡</li>
<li id="l3">奶茶</li>
</ul>
<p><input name="button" type="button" id="button" onclick=" remove();" value="删除" /></p>
</body>
</html>
那我要依次删除列表项要怎么写呢?您再给我指点指点哇
#6
hugeannex2013-11-27 15:37
以下是引用桃夭小仙在2013-11-27 13:45:50的发言:

亲爱的大叔,谢谢您了,我成功了
叫哥好听一点。。。
#7
hugeannex2013-11-27 16:17
回依次删除列表项:
你那个是可以实现,但实际应用中不好,而且每个li得设个ID,常用的以下两种方法:
1、(非w3c标准,但所有主流浏览器都支持)
   function remove()
   {
    document.getElementById("u1").innerHTML="";
   }
2、w3c标准的做法(也就是你写的方法的改进版):
 function remove()
{
  var oUl=document.getElementById("u1"),oli=document.getElementsByTagName("li"),i=oli.length;
   while(i--)
     oUl.removeChild(oli[i]);
}
 但这方法有个不算好的地方,也就是非IE浏览器下,ul还是有子节点的,也就是空白或换行。所以,如果有强迫症,一定要完全清空,可以方法3
3、
function remove()
{
   var oUl=document.getElementById("u1");
   while(oUl.hasChildNodes())
      oUl.removeChild(oUl.firstChild);
}
执行效率应该是1最快,3最慢。还有,有些新版的浏览器(谷歌,最新的火狐)元素本身有remove()这方法,点击后会把button自身给删了,所以,最好不要用这种太敏感的词,用remove1()或myRemove()等等都可以。
#8
hugeannex2013-11-27 16:31
查了一会,原来是dom4的标准。
interface CharacterData : Node {
  [TreatNullAs=EmptyString] attribute DOMString data;
  readonly attribute unsigned long length;
  DOMString substringData(unsigned long offset, unsigned long count);
  void appendData(DOMString data);
  void insertData(unsigned long offset, DOMString data);
  void deleteData(unsigned long offset, unsigned long count);
  void replaceData(unsigned long offset, unsigned long count, DOMString data);

  // NEW
  void before((Node or DOMString)... nodes);
  void after((Node or DOMString)... nodes);
  void replace((Node or DOMString)... nodes);
  void remove();
};
#9
桃夭小仙2013-11-27 16:43
回复 7楼 hugeannex
好吧哥,你还不服老啊,你这回复速度蛮快的嘛,果然有实力,佩服!
#10
hugeannex2013-11-27 16:59
回复 9楼 桃夭小仙
这不是打击人吗?
#11
桃夭小仙2013-11-27 17:47
回复 10楼 hugeannex
没法依次删啊,您试过了吗
#12
桃夭小仙2013-11-27 17:55
回复 7楼 hugeannex
只能全删了,用你的方法,你调试看看
#13
hugeannex2013-11-27 17:55
以下是引用桃夭小仙在2013-11-27 17:47:01的发言:

没法依次删啊,您试过了吗
依次?强迫症?你那依次只是瞬间的事,如果一定要依次,那不用方法1,把方法2的循环返过来写,方法3就符合你的要求。。。
#14
桃夭小仙2013-11-28 14:56
回复 13楼 hugeannex
我哪里像强迫症啊,我只有被强迫的份。。。。。
#15
hugeannex2013-11-28 15:18
回复 14楼 桃夭小仙
被帅哥强迫就算了,是吧?
#16
hugeannex2013-11-28 15:19
回复 14楼 桃夭小仙
想了想,再回一句,例子不是给你照抄的,自己要动动脑子想明白。。。
#17
桃夭小仙2013-12-02 13:40
回复 16楼 hugeannex
,噢噢,我知道错了
#18
桃夭小仙2013-12-02 13:42
回复 15楼 hugeannex
你怎么知道是帅哥呢???
#19
hugeannex2013-12-03 11:14
回复 18楼 桃夭小仙
还在贫?
1