JavaScript——DOM(文档对象模型)

一、创建DOM元素(例如li)

createElement(标签名):创建一个结点
appendChild(结点):追加一个结点
注:
父.appendChild(子节点);将创建好的子节点插到父中去,但只能插到之后。
父.insertBefore(子节点,谁之前);可以插到之前。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>创建li</title>
<script type="text/javascript">
  window.onload=function()
  {
    var oBtn=document.getElementById('btn1');
    var oUl=document.getElementById('ull');

    oBtn.onclick=function()
    {
      var oLi=document.createElement('li');//创建一个li
      oUl.appendChild(oLi);//   父.appendChild(子节点)将子节点插到父中区
    }

  }
</script>

</head>
<body>
    <input id="btn1" type="button" value="创建li" >
  <ul id="ull">
    <li>aaa</li>
  </ul>
</body>
</html>

类似发说说:(最近发的在前)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>创建li</title>
<script type="text/javascript">
  window.onload=function()
  {
    var oBtn=document.getElementById('btn1');
    var oTxt=document.getElementById('txt1');
    var oUl=document.getElementById('ull');

    oBtn.onclick=function()
    {
      var oLi=document.createElement('li');//创建一个li
      var aLi=oUl.getElementsByTagName('li');
      oLi.innerHTML=oTxt.value;
      if(aLi.length==0)
      {
       oUl.appendChild(oLi);
      }
      else
      {
      oUl.insertBefore(oLi,aLi[0]); //    父.insertBefore(子节点,谁之前)
      }
    }

  }
</script>

</head>
<body>
  <input id="txt1" type="text" >
    <input id="btn1" type="button" value="创建li" >
  <ul id="ull">
  </ul>
</body>
</html>

二、删除DOM元素(例如li)

语法:父.removeChild(子节点)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>删除</title>
<script type="text/javascript">
  window.onload=function()
  {
    var aA=document.getElementsByTagName('a');
    var oUl=document.getElementById('ull');
    var i=0;
   for ( i = 0; i < aA.length; i++) 
   {
     aA[i].onclick=function()
     {
      oUl.removeChild(this.parentNode);
     }
   }

  }
</script>

</head>
<body>
  <ul id="ull">
  <li>sdshhkj<a href="javascript:;">删除</a></li>
  <li>3432<a href="javascript:;">删除</a></li>
  <li>qqq<a href="javascript:;">删除</a></li>
  <li>aaaaa<a href="javascript:;">删除</a></li> 
  <li>ggdsa<a href="javascript:;">删除</a></li>
  </ul>
</body>
</html>

三、parentNode(例如:点击链接隐藏整个li)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>节点</title>
<script type="text/javascript">
  window.onload=function()
  {  
   var oA=document.getElementsByTagName('a');
   var i=0;

   for ( i = 0; i <oA.length; i++)
    {
     oA[i].onclick=function()
     {
      this.parentNode.style.display='none';//隐藏的是a的父节点li
     }
   }
   
  }
</script>

</head>
<body>
 <ul id="ul1">
   <li>jbjj<a href="javascript:;">隐藏</a></li>
   <li>5543<a href="javascript:;">隐藏</a></li>
   <li>jasd<a href="javascript:;">隐藏</a></li>
   <li>fsgs<a href="javascript:;">隐藏</a></li>
 </ul>
</body>
</html>

四、首节点和尾节点

首节点:firstChild、firstElementChild
尾节点:lastChild、lastElementChild

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>节点</title>
<script type="text/javascript">
  window.onload=function()
  {  
   var oUl=document.getElementById('ul1');
   // oUl.firstChild.style.background='red';//只在IE下能用
    //oUl.firstElementChild.style.background='red';//只在火狐下能用
    var oFirst=oUl.firstChild||oUl.firstElementChild;//在IE和火狐下都能用
    oFirst.style.background='red';
  }
</script>

</head>
<body>
 <ul id="ul1">
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
 </ul>
</body>
</html>

五、DOM方式操作元素属性

获取:getAttribute(名称)
设置:setAttribute(名称,值)
删除:removeAttribute(名称)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>dom方式操作元素属性</title>
<script type="text/javascript">
  window.onload=function()
  {  
   var oTxt=document.getElementById('txt1');
   //第一种方式   oTxt.value='123';
   //第二种方法   oTxt['value']='abc';
   //第三种方式 dom方式     oTxt.setAttribute('value','gsajgkj');
   alert(oTxt.getAttribute('id'));
  }
</script>

</head>
<body>
 <input type="text" id="txt1">
</body>
</html>

六、用class选元素

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>dom方式操作元素属性</title>
<script type="text/javascript">
  window.onload=function()
  {  
   var oUl=document.getElementById('ul1');
   var aLi=oUl.getElementsByTagName('li');
   var i=0;
   for (i = 0; i < aLi.length; i++) 
   {
     if (aLi[i].className=='box') //用class选择元素
     {
      aLi[i].style.background='red';
     }
   }
  }
</script>

</head>
<body>
 <ul id="ul1">
   <li></li>
   <li></li>
   <li></li>
   <li class="box"></li>
   <li></li>
   <li class="box"></li>
   <li></li>
   <li class="box"></li>
 </ul>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容