jQuery jQuery元素节点操作

在这里插入图片描述

1、 创建节点:

在这里插入图片描述
代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery元素节点操作</title>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function () {
            // 通过html的字符串的方式添加节点,性能最高
            // $('#div1').html('')
            $('#div1').html($('#div1').html()+'<a href="#">连接</a>');
        })
    </script>
</head>
<body>

    <div id="div1">
        <h1>这是一个h1元素</h1>
    </div>

</body>
</html>

显示如下所示:
在这里插入图片描述

2、append与appendTo(父元素内的后面放入子元素)

在这里插入图片描述

在这里插入图片描述
代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>41_jQuery元素插入节点操作(append与appenTo的操作)</title>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function () {

            // 新建一个a元素节点,将其赋值给$a,
            var $a = $('<a href="#">使用append放入元素</a>');

            // 使用append
            // 新建一个空的a元素
            var $a1 = $('<a>');
            $('#div1').append($a);
            $('#div1').append($a1)

            // 还用appendTo添加
            var $a2 = $('<a href="$">使用appendTo添加元素</a>');
            $a2.appendTo($('#div1'))
        })
    </script>
</head>
<body>

    <div id="div1">
        <h1>这是一个h1元素</h1>
    </div>

</body>
</html>

显示效果如下所示:
在这里插入图片描述

3、prepend()和prependTo():在现存元素的内部,从前面插入元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、after()和insertAfter():在现存元素的外部,从后面插入元素

在这里插入图片描述
代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>after()insertAfter():在现存元素的外部,从后面插入元素</title>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function () {


            // after()和insertAfter():在现存元素的外部,从后面插入元素
            var $h2 = $('<h2>这是after处理方式</h2>');
            $('#div1').after($h2)

            var $h = $('<h2>这是insertAfter处理方式</h2>');
            $($h).insertAfter($('#div1'))

        })
    </script>

</head>
<body>

    <div id="div1">
        <h1>这是一个h1元素</h1>
    </div>

</body>
</html>

显示效果如下所示:
在这里插入图片描述

5、before()和insertBefore():在现存元素的外部,从前面插入元素

在这里插入图片描述
代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>before()insertBefore():在现存元素的外部,从前面插入元素</title>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function () {
            // before()和insertBefore():在现存元素的外部,从前面插入元素
            var $h2 = $('<h2>使用的是before方法</h2>');
            $('#div1').before($h2)

            var $h = $('<h2>使用insertBefore方法</h2>');
            $($h).insertBefore($('#div1'))
        })

    </script>
</head>
<body>
    <div id="div1">
        <h1>这是一个h1元素</h1>
    </div>
</body>
</html>

显示效果如下所示:
在这里插入图片描述

6、对已有的节点进行操作

在这里插入图片描述
代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jquery已有元素的操作</title>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function () {
            var flag=true
            var $one = $('#one');
            var $two = $('#two');
            $('#do').click(function () {
                if (flag){
                    $($two).after($one)
                    flag=false;
                }else {
                    $($two).before($one)
                    flag=true;
                }
            })
        })

    </script>
</head>
<body>
    <input type="button" value="变换" id="do">
    <h2 id="one">jQuery已有已有元素的操作</h2>
    <h2 id="two">滴滴滴</h2>

</body>
</html>

显示效果如下所示:
在这里插入图片描述

7、实现Todolist功能

在这里插入图片描述
代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery实现todolist</title>
    <style type="text/css">
        .list_con{
            width: 600px;
            margin: 50px auto 0;
            background-color: #b3b3b3;
        }

        .inputtxt{
            width: 550px;
            height: 30px;
            border: 1px solid #CCCCCC;
            padding: 0px;
        }
        .inputbtn{
            width: 40px;
            height: 30px;
            border: 1px solid #CCCCCC;
            padding: 0px;
        }

        .list{
            margin: 0;
            padding: 0;
            list-style: none;
            margin-top: 20px;
        }

        .list li{
            height: 40px;
            line-height: 40px;
            border-bottom: 1px solid black;
        }
        .list li span{
            float: left;
            text-indent: 15px;
        }

        .list li a{
            float: right;
            margin-right: 15px;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function () {
            var $inputtxt = $('.inputtxt');
            var $btn = $('.inputbtn');
            var $ul = $('.list');


            $btn.click(function () {
                // 获取input输入框的内容
                var $val = $inputtxt.val();

                // 如果文本输入框为空。则弹出提示
                if ($val==''){
                    alert("请输入内容")
                    return;
                }

                // 拼接li标签内容
                var $li=$('<li><span>'+$val+'</span><a href="javascript:;" class="up">↑</a><a href="javascript:;" class="down">↓</a><a href="javascript:;" class="del">删除</a></li>')

                /*
                // 为刚添加的节点添加删除事件
                var $a = $li.find('.del');      // .find():选择div内的class等于myClass的元素
                $a.click(function () {
                    $(this).parent().remove();
                })
                * */

                $ul.append($li)

                // 清空输入框中的内容
                $inputtxt.val('');
            })

            // 使用事件委托给ul中的a标签添加事件
            $ul.delegate('a','click',function () {

                var $className = $(this).prop('class');     // 获取对应的class名称

                // 如果$className为‘del’,则删除父标签(li标签)
                if($className=='del'){
                    $(this).parent().remove();
                }

                //条目上移操作
                if ($className=='up'){

                    if ($(this).parent().prevAll().length==0){
                        alert("已经到达顶端");
                        return
                    }
                    // 其父标签li
                    var parent_li=$(this).parent();     // 得到该标签的父标签
                    // parent_li前一个对应的标签,然后在交换位置
                    parent_li.prev().before(parent_li)
                }
                // 条目下移操作
                if ($className=='down'){

                    if ($(this).parent().nextAll().length==0){
                        alert("已经到达底端");
                        return
                    }
                    // 其父标签li
                    var parent_li=$(this).parent();     // 得到该标签的父标签
                    // parent_li下一个对应的标签,然后在交换位置
                    parent_li.next().after(parent_li)
                }
            })

        })
    </script>

</head>
<body>
    <div class="list_con">
        <h2>To do list</h2>
        <input type="text" name="" id="text1" class="inputtxt">
        <input type="button" name="" value="添加" id="btn1" class="inputbtn">

        <ul class="list" id="list">
            <li><span>学习html</span><a href="javascript:;" class="up"></a><a href="javascript:;" class="down"></a><a href="javascript:;" class="del">删除</a></li>
            <li><span>python</span><a href="javascript:;" class="up"></a><a href="javascript:;" class="down"></a><a href="javascript:;" class="del">删除</a></li>
            <li><span>java</span><a href="javascript:;" class="up"></a><a href="javascript:;" class="down"></a><a href="javascript:;" class="del">删除</a></li>
        </ul>
    </div>
</body>
</html>

显示效果如下所示:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值