dom的增删改、练习从左到右和从右到左、动态添加和删除行记录

本文详细介绍了如何在HTML中使用DOM方法进行元素的增删改查,包括appendTo(), prependTo(), insertAfter(), insertBefore(), replaceWith(), replaceAll(), remove()和empty()等,并通过实例展示了动态添加和删除行记录的过程。
摘要由CSDN通过智能技术生成

dom的增删改

内部插入:

1.appendTo()        如a.appendTo(b)         把a插入到b字元素的末尾,从而成为最后一个元素

2.prependTo()       如a.prependTo(b)        把a插入到b所有元素前面,成为第一个子元素

外部插入:

1.  insertAfter ():        如a.insertAfter(b)           得到ba

2.insertBefore()         如a.insertBefore(b)        得到ab

替换:

1.replaceWith()        如a.replaceWith(b)        用b替换第一个a

2.replaceAll()           如a.replaceAll(b)           用b替换所有的a

删除:

1.remove()        如a.remove();        删除a标签

2.empty()          如a.empty();         情况a标签里的内容

使用方法:

appendTo():

 

 prependTo():

 

 insertAfter ():

 

 insertBefore():

replaceWith() :

 

 replaceAll():

 

 remove():

empty():

 

 练习从左到右和从右到左

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
   <style type="text/css">
      select {
         width: 100px;
         height: 140px;
      }
      
      div {
         width: 130px;
         float: left;
         text-align: center;
      }
   </style>
   <script type="text/javascript" src="script/jquery-1.7.2.js"></script>
   <script type="text/javascript">    

      //页面加载完成之后
      $(function (){
         //第一个按钮(选择按钮到右边)
         $("button:eq(0)").click(function (){
            $("select:eq(0) option:selected").appendTo($("select:eq(1)"));
         });

         //第二个按钮(全部添加到右边)
         $("button:eq(1)").click(function (){
            $("select:eq(0) option").appendTo($("select:eq(1)"));
         });

         //第三个按钮(选中删除到左边)
         $("button:eq(2)").click(function (){
            $("select:eq(1) option:selected").appendTo($("select:eq(0)"));
         });

         //第四个按钮(全部删除到左边)
         $("button:eq(3)").click(function (){
            $("select:eq(1) option").appendTo($("select:eq(0)"));
         });

      });

   </script>
</head>
<body>

   <div id="left">
      <select multiple="multiple" name="sel01">
         <option value="opt01">选项1</option>
         <option value="opt02">选项2</option>
         <option value="opt03">选项3</option>
         <option value="opt04">选项4</option>
         <option value="opt05">选项5</option>
         <option value="opt06">选项6</option>
         <option value="opt07">选项7</option>
         <option value="opt08">选项8</option>
      </select>
      
      <button>选中添加到右边</button>
      <button>全部添加到右边</button>
   </div>
   <div id="rigth">
      <select multiple="multiple" name="sel02">
      </select>
      <button>选中删除到左边</button>
      <button>全部删除到左边</button>
   </div>

</body>
</html>

动态添加和删除行记录

相关代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="styleB/css.css" />
<script type="text/javascript" src="../../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
   //设置加载后,完成
   $(function (){
      //给submit按键绑定单击事件
      $("#addEmpButton").click(function (){
         //获取输入框中的姓名、邮箱、工资的内容
         var name = $("#empName").val();
         var email = $("#email").val()  ;
         var salary = $("#salary").val();

         //创建一个行标签对象,添加到显示数据的表格中
         var $data = $("<td>" + name+ "</td>\n" +
               "\t\t\t<td>" + email + "</td>\n" +
               "\t\t\t<td>" + salary + "</td>\n" +
               "\t\t\t<td><a href=\"deleteEmp?id=002\">Delete</a></td>");
         //添加到显示数据到表格中
         $data.appendTo($("#employeeTable"));

         //给添加的行的a标签绑定事件
         $data.find("a").click(function (){
            //事件响应的function函数中,有一个this对象,这个this对象就是当前正在响应事件的dom对象
            var $parents = $(this).parent().parent();//得到行标签,$(this):为a的dom对象
            var name = $parents.find("td:first").text();

            /*confirm是javascript语言提供的一个确认提示框函数,传什么,它就提示什么
                * 当用户点击确定时,就返回true,当用户点击取消时,就返回false
                * */
            if(confirm("你确认需要"+ name +"删除吗?")){
               $parents.remove();//删除行标签

            }

            //return false 可以阻止元素的默认行为(不跳转)
            return false;
         });


      });

      //给删除的a标签绑定事件
      $("a").click(function (){
         //事件响应的function函数中,有一个this对象,这个this对象就是当前正在响应事件的dom对象
         var $parents = $(this).parent().parent();//得到行标签,$(this):为a的dom对象
         var name = $parents.find("td:first").text();

         /*confirm是javascript语言提供的一个确认提示框函数,传什么,它就提示什么
            * 当用户点击确定时,就返回true,当用户点击取消时,就返回false
            * */
         if(confirm("你确认需要"+ name +"删除吗?")){
            $parents.remove();//删除行标签

         }

         //return false 可以阻止元素的默认行为(不跳转)
         return false;
      });

   });

</script>
</head>
<body>

   <table id="employeeTable">
      <tr>
         <th>Name</th>
         <th>Email</th>
         <th>Salary</th>
         <th>&nbsp;</th>
      </tr>
      <tr>
         <td>Tom</td>
         <td>tom@tom.com</td>
         <td>5000</td>
         <td><a href="deleteEmp?id=001">Delete</a></td>
      </tr>
      <tr>
         <td>Jerry</td>
         <td>jerry@sohu.com</td>
         <td>8000</td>
         <td><a href="deleteEmp?id=002">Delete</a></td>
      </tr>
      <tr>
         <td>Bob</td>
         <td>bob@tom.com</td>
         <td>10000</td>
         <td><a href="deleteEmp?id=003">Delete</a></td>
      </tr>
   </table>

   <div id="formDiv">
   
      <h4>添加新员工</h4>

      <table>
         <tr>
            <td class="word">name: </td>
            <td class="inp">
               <input type="text" name="empName" id="empName" />
            </td>
         </tr>
         <tr>
            <td class="word">email: </td>
            <td class="inp">
               <input type="text" name="email" id="email" />
            </td>
         </tr>
         <tr>
            <td class="word">salary: </td>
            <td class="inp">
               <input type="text" name="salary" id="salary" />
            </td>
         </tr>
         <tr>
            <td colspan="2" align="center">
               <button id="addEmpButton" value="abc">
                  Submit
               </button>
            </td>
         </tr>
      </table>

   </div>

</body>
</html>
结果如下所示:

可以通过CSS3动画和JavaScript实现多个子dom从右到左无线循环播放的动画效果。 1. 首先,在父元素中设置overflow:hidden,使子元素超出父元素的部分被隐藏。 2. 然后,使用CSS3动画将子元素从右侧移动到左侧。 3. 在动画结束后,将子元素重新放置到队列的最后,达到无限循环的效果。 4. 使用JavaScript定时器控制子元素的动画和位置重新排列。 以下是示例代码: HTML: ``` <div class="container"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> <div class="item">4</div> <div class="item">5</div> <div class="item">6</div> </div> ``` CSS: ``` .container { position: relative; width: 400px; height: 100px; overflow: hidden; } .item { position: absolute; width: 100px; height: 100px; background-color: #ccc; text-align: center; line-height: 100px; font-size: 36px; animation: move 5s ease-in-out infinite; } @keyframes move { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } } ``` JavaScript: ``` var container = document.querySelector('.container'); var items = document.querySelectorAll('.item'); var itemWidth = items[0].offsetWidth; function rearrangeItems() { var lastItem = container.removeChild(items[items.length - 1]); container.insertBefore(lastItem, items[0]); container.style.transform = 'translateX(' + itemWidth + 'px)'; } // move items to the left function moveLeft() { container.style.transform = 'translateX(0)'; setTimeout(rearrangeItems, 5000); } setInterval(moveLeft, 5000); ``` 在以上示例中,CSS动画将子元素从右侧移动到左侧,并且在动画结束后,JavaScript重新排列子元素的位置,使其无限循环播放。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jhan;

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值