Python笔记:jQuery和js库 10.8——节点操作

一、jquery元素节点操作

1、创建节点

var $div = $('<div>');
var $div2 = $('<div>这是一个div元素</div>');

2、插入节点

  • 1、append()和appendTo():在现存元素的内部,从后面插入元素
var $span = $('<span>这是一个span元素</span>');
$('#div1').append($span);
......
<div id="div1"></div>
  • 2、prepend()和prependTo():在现存元素的内部,从前面插入元素

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

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

3、删除节点

$('#div1').remove();

都挺简单的。

课堂练习:todolist(计划列表)实例

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>todolist</title>
    <style type="text/css">
        .list_con{
            width:600px;
            margin:50px auto 0;
        }
        .inputtxt{
            width:550px;
            height:30px;
            border:1px solid #ccc;
            padding:0px;
            text-indent:10px;           
        }
        .inputbtn{
            width:40px;
            height:32px;
            padding:0px;
            border:1px solid #ccc;
        }
        .list{
            margin:0;
            padding:0;
            list-style:none;
            margin-top:20px;
        }
        .list li{
            height:40px;
            line-height:40px;
            border-bottom:1px solid #ccc;
        }

        .list li span{
            float:left;
        }

        .list li a{
            float:right;
            text-decoration:none;
            margin:0 10px;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function(){

            // 获取元素
            var $inputtxt = $('#txt1');
            var $btn = $('#btn1');
            var $ul = $('#list');

            // "增加"按钮的click事件
            $btn.click(function(){

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

                // 如果输入框为空,则点击增加时提示“请输入内容”
                if($val=="")
                {
                    alert('请输入内容');
                    return;
                }

                // 增加一行,与其他行格式相同
                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>');

                // 添加到ul末尾
                $ul.append($li);

                // 输入框初始化
                $inputtxt.val("");

            })

            // 建立事件委托,绑定所有a标签click事件
            $ul.delegate('a','click',function(){

                // 获取当前点击标签的class
                var $handler = $(this).prop('class');

                // 删除
                if($handler=='del')
                {
                    $(this).parent().remove();
                }

                // 上升
                if($handler=='up')
                {   
                    // 如果当前标签的父标签前面没有元素
                    if($(this).parent().prev().length==0)
                    {
                        alert('到顶了!');
                        return;
                    }

                    // 将当前标签的父标签插入到父标签的前面
                    $(this).parent().insertBefore( $(this).parent().prev() );
                }

                // 下降
                if($handler=='down')
                {
                    if($(this).parent().next().length==0)
                    {
                        alert('到底了!');
                        return;
                    }

                    $(this).parent().insertAfter( $(this).parent().next() );
                }

            })

        })

    </script>   
</head>
<body>

    <div class="list_con">
    <h2>To do list</h2>
        <input type="text" name="" id="txt1" class="inputtxt">
        <input type="button" name="" value="增加" id="btn1" class="inputbtn">
        
        <ul id="list" class="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>学习css</span>
                <a href="javascript:;" class="up"> ↑ </a>
                <a href="javascript:;" class="down"> ↓ </a>
                <a href="javascript:;" class="del">删除</a>
            </li>

            <li>
                <span>学习javascript</span>
                <a href="javascript:;" class="up"> ↑ </a>
                <a href="javascript:;" class="down"> ↓ </a>
                <a href="javascript:;" class="del">删除</a>
            </li>

        </ul>

    </div>
</body>
</html>

实现的效果:


  • 文本框输入内容点击增加,输入的内容会显示在下面,右边有删除、↑、↓的选项。
  • 若输入的内容为空,点击增加时,会提示“请输入内容”
  • 点击删除可以将该行删除
  • 点击↑可以将该行上升,上升到最顶部时提示“到顶了!”
  • 点击↓可以将该行下降,上升到最顶部时提示“到底了!”
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 1,601评论 1 3
  •   尽管 DOM 作为 API 已经非常完善了,但为了实现更过的功能,仍然会有一些标准或专有的扩展。   2008...
    霜天晓阅读 558评论 0 0
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,869评论 0 7
  • 1:jQuery节点创建与属性的处理 创建元素节点:可以有几种方式,后面会慢慢接触。常见的就是直接把这个节点的结构...
    码农小杨阅读 685评论 0 1
  • 什么叫会游蛙泳,每个人的标准一样吗?我们怎么能够达到共识,每个人的标准是不一样的。如感兴趣可以看看教练笔记1——游...
    得到一直在路上阅读 1,381评论 2 3

友情链接更多精彩内容