jQuery文档操作

jQuery文档操作

插入操作

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>文档处理_插入操作</title>
        <script src="../../js/jquery-1.11.0.min.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            /**
             * 需求 
             *  在id=edu下增加<option value="大专">大专</option> 
             */

            /**
             * 方法分析:
             *  内部插入
             *      1.append(content):内部结尾处,将B追加到A里面去
             *      2.appendTo(content):内部结尾处,将A追加到B里面去
             *      3.prepend(content):内部开始处,将B追加到A里面去
             *      4.prependTo(content):内部开始处,将B追加到A里面去
             *  外部插入
             *      1.after(content):外部,将B追加到A后面
             *      2.before(content):外部,将A追加到B前面
             *      3.insertAfter(content):外部,将A追加到B后面
             *      4.insertBefore(content)::外部,将A追加到B前面
             */

            $(function() {
                // 追加 option 内容大专
                // 创建元素
                var $newNode = $("<option value='大专'>大专</option>");

                //内部插入
                //$("#edu").append($newNode);   // 内部结尾,将B追加到A里面去
                //$("#edu").prepend($newNode);  // 内部开始,将B追加到A里面去

                //外部插入
                //$("option[value='本科']").after($newNode);
                $newNode.insertBefore($("option:contains('硕士')"));
            });
        </script>

    </head>

    <body>
        <select id="edu">
            <option value="博士">博士</option>
            <option value="硕士">硕士</option>
            <option value="本科">本科</option>
            <option value="高中">高中</option>
        </select>

    </body>

</html>

复制操作

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>文档处理_复制操作</title>
        <script type="text/javascript" src="../../js/jquery-1.11.0.min.js" ></script>
        <script>
            /**
             * 需求
             *  1.单击苹果、橘子或者菠萝列表项,复制点击的内容并追加到ul的末尾
             *  2.单击苹果、橘子或者菠萝列表项,复制点击的内容并追加到ul的末尾,要求复制后的内容也具有复制的能力
             */

            /**
             * 方法分析:
             *  1.clone():克隆匹配的DOM元素并且选中这些克隆的副本。
             *  2.clone():元素以及其所有的事件处理并且选中这些克隆的副本(简言之,副本具有与真身一样的事件处理能力)
             */

             $(function(){
                //点击li列表项,将当选点击的li内容追加到ul末尾
                $("ul li").click(function(){
                    //$(this).clone().appendTo("ul"); // 复制当前点击的节点,并将它追加到<ul>元素
                    $(this).clone(true).appendTo("ul");//设置参数true后,复制后的内容也具备单击事件
                })   
              });
        </script>
    </head>
    <body>
        <p title="选择你最喜欢的水果." >你最喜欢的水果是?</p>
        <ul>
          <li title='苹果'>苹果</li>
          <li title='橘子'>橘子</li>
          <li title='菠萝'>菠萝</li>
        </ul>
    </body>
</html>

替换操作

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>文档处理_替换操作</title>
        <script type="text/javascript" src="../../js/jquery-1.11.0.min.js" ></script>
        <script>
            $(function(){
                //将B的内容替换掉A处的内容
                $("p").replaceWith("<strong>你最不喜欢的水果是?</strong>"); 
                // 同样的实现: $("<strong>你最不喜欢的水果是?</strong>").replaceAll("p"); 
            });
        </script>
    </head>
    <body>
        <p title="选择你最喜欢的水果." >你最喜欢的水果是?</p>
        <ul>
          <li title='苹果'>苹果</li>
          <li title='橘子'>橘子</li>
          <li title='菠萝'>菠萝</li>
        </ul>
    </body>
</html>

删除操作

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>文档处理_删除操作</title>
        <script type="text/javascript" src="../../js/jquery-1.11.0.min.js"></script>
        <script type="text/javascript">
            /**
             * 需求
             *  分别使用detach和remove 删除带有click事件的p标签,删除后再将p 重新加入body 查看事件是否存在
             */

            /**
             * 方法分析
             *  1.remove():删除节点后,事件也会删除
             *  2.detach():删除节点后,事件会保留 从1.4新API 
             *  3.empty():清空元素中的所有后代节点。(这个案例是要删除而不是清空,需要注意)
             */

            /**
             * 代码实现 
             */
            $(function() {
                $("p").click(function() {
                    alert($(this).text());
                });
                // 使用remove方法删除 p元素,连同事件一起删除
                //var $p = $("p").remove();
                // 使用detach删除,事件会保留
                var $p = $("p").detach();

                $("div").append($p);
            });
        </script>

    </head>

    <body>
        <p>AAA</p>

        <div>BBB</div>
    </body>

</html>

删除相关操作的区别

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>删除相关操作的区别</title>
        <script type="text/javascript" src="../../js/jquery-1.11.0.min.js" ></script>
        <script>
            $(function(){
                //清空第二个li元素节点的所有后代节点(此处是文本节点橘子),通过firebug查看html源码验证
                //$("ul li:eq(1)").empty();

                //删除第一个li元素节点
                $("ul li:eq(0)").remove();
            });
        </script>
    </head>
    <body>
        <p title="选择你最喜欢的水果.">你最喜欢的水果是?</p>
        <ul>
            <li title='苹果'>苹果</li>
            <li title='橘子'>橘子</li>
            <li title='菠萝'>菠萝</li>
        </ul>
    </body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值