博客列表 >0408jquery操作元素

0408jquery操作元素

田亢的博客
田亢的博客原创
2018年04月10日 12:00:54573浏览

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>0408作业</title>
    <style type="text/css">
        li {
            background-color: lightskyblue;
            width: 300px;
            margin-bottom: 5px;
        }
    </style>
</head>
<body>

<!--1.获取元素的内容-->

<!--<div></div>-->

<!--<form action="" method="post">-->
    <!--账号:<input type="text" name="account">-->
    <!--<button>提交</button>-->
<!--</form>-->


<!--2.创建DOM元素-->


<!--3.在目标节点上添加或移动节点-->
<!--<ul>-->
    <!--<li>列表项1</li>-->
    <!--<li>列表项2</li>-->
    <!--<li>列表项3</li>-->
    <!--<li>列表项4</li>-->
    <!--<li>列表项5</li>-->
<!--</ul>-->
<!--<button>append()</button>-->
<!--<button>prepend()</button>-->
<!--<button>after()</button>-->
<!--<button>before()</button>-->
<!--<p style="background-color: orange;width: 400px;">我是要被append()移动的节点1</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被prepend()移动的节点2</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被after()移动的节点3</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被before()移动的节点4</p>-->

<!--4.将节点添加或移动到目标节点-->

<!--<ul>-->
    <!--<li>列表项1</li>-->
    <!--<li>列表项2</li>-->
    <!--<li>列表项3</li>-->
    <!--<li>列表项4</li>-->
    <!--<li>列表项5</li>-->
<!--</ul>-->
<!--<button>appendTo()</button>-->
<!--<button>prependTo()</button>-->
<!--<button>insertAfter()</button>-->
<!--<button>insertBefore()</button>-->
<!--<p style="background-color: orange;width: 400px;">我是要被append()移动的节点1</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被prepend()移动的节点2</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被after()移动的节点3</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被before()移动的节点4</p>-->

<!--5.元素包裹-->
<a href="https://www.tmall.com">天猫</a>
<a href="https://taobao.com">淘宝</a>
<a href="https://www.jd.com/">京东</a>
<a href="https://www.suning.com">苏宁</a>
<p>网上购物:</p>
<button>wrap()</button>
<button>wrapIner()</button>
<button>wrapAll()</button>
<button>unwrap()</button>



</body>
</html>
<script src="../0402源码/js/jquery-3.3.1.js"></script>

<!--1.获取元素的内容-->
<script type="text/html">
//html() 和 css()  attr() 一样 根据参数不同 自带读取和设置功能

//    1.设置元素内容,可以包括任何内容:子元素和文本,与原生的innerHTML属性一样
//    创建文本节点
     var res = $('div').html('这是一段文字')
//    创建元素节点
     var res = $('div').html('<h2>我是h2标签</h2>')
//    获取元素内容
     var res = $('div').html()
     console.log(res); //输出: <h2>我是h2标签</h2>


//    2.获取元素中的文本内容:类似于原生中的textContent属性
//    获取单标签中的文本,会自动将子元素标签过滤,仅留下文本部分
     var res = $('div').text()
     console.log(res); //我是h2标签
//    如果元素内容有多个子元素,这些子元素的文本会合并
     var res = $('div').html('<h2>我是h2标签</h2><p>我是p标签</p>')
     var res = $('div').html()
     console.log(res); //输出:  <h2>我是h2标签</h2><p>我是p标签</p>
     var res = $('div').text()
     console.log(res);   //输出:  我是h2标签我是p标签


//    3.获取或设置表单控件中的数据: val(),等价于原生中的表单元素的value属性

    $('button').click(
        function () {
        //    读取value属性的值

            alert($(':text').val())   //输入框输入:我是文本 点击按钮得到text的值

        // 设置value属性的值

            $(':text').val('574296004@qq.com')
            alert($(':text').val())
        }

    )
</script>

<!--2.创建DOM元素-->
<script type="text/html">
    //第一步:创建新元素,至少一对标签,尖括号绝对不能省略
    //可以在标签中直接设置属性
    var img =  $('<img src="../0402源码/images/gyy.jpg"> ')


    //第二步:给新元素添加内容或属性
    img.css({
        'width':150,
        'border-radius':'10%',
        'box-shadow':'3px 3px 3px #888'
    })
    //第三步:添加到页面中
    img.appendTo('body')


//    可以使用简化步骤

    $('<img>',{
        src:'../0402源码/images/gyy.jpg',
        style:"width:200px;border-radius:10%;box-shadow:3px 3px 3px #888", //属性之间加分号
        title: '我是高圆圆',
        click:function () {
            alert($(this).attr('title'))
        }
    }).appendTo('body')

</script>

<!--3.在目标节点上添加或移动节点-->
<script type="text/html">

    /*
    * 1.插入位置
    * 节点内容的前后
    * 节点的前后
    * 2、要插入的节点
    * 对于新创建的节点:叫做添加操作
    * 对已存在的节点:叫移动操作
    * 3.对应的方法
    * 插入到节点内容之后 append()
    * 插入到节点内容之前 prepend()
    * 插入到节点之后:after()
    * 插入到节点之前:before()
    * */


    $('button').eq(0).on('click',function () {
         /**
         * 1.append()
         * 语法: target.append(content)
         * 参数: 要添加或移动的节点
         * 功能: 插入到目标元素内容的后面
         */

        //1. 添加操作
        //第一步: 生成节点元素,添加内容,并设置样式

         var li = $('<li>').css('background-color','lightgreen').html('我是append()新生成的节点1')

         // $('ul').append(li)  //新创建的li添加到了ul之后


        //2.移动操作
         $('ul').append($('p').eq(0))  //第一个p标签被移动到了ul中最后一个li后面

    })


    $('button:eq(1)').on('click',function () {

        /**
         * 2.prepend()
         * 语法: target.prepend(content)
         * 参数: 要添加或移动的节点
         * 功能: 插入到目标元素内容的前面
         */

        //第一步: 生成节点元素,添加内容,并设置样式
        var li = $('<li>').css('background-color','lightgreen').html('我是prepend()新生成的节点2')
        //第二点: 将新节点插入到目标节点内容的后面

        $('ul').prepend(li);  //新创建的li被添加到了ul的最前面


        // 2.移动操作


        $('ul').prepend($('p:eq(1)'))


    })

    $('button:eq(2)').on('click',function () {

        /**
         * 3.after()
         * 语法: target.after(content)
         * 参数: 要插入的节点
         * 功能: 插入到目标节点的后面
         */
        //1. 添加操作
        //第一步: 生成节点元素,添加内容,并设置样式
        var li = $('<li>').css('background-color','lightgreen').html('我是after()新生成的节点3')
        //第二点: 将新节点插入到目标节点的后面
        // $('ul').after(li)

        // $('li:eq(0)').after(li)  //添加新创建的li到ul中第一个li的后面

        //2.移动操作

        $('li:eq(0)').after($('p:eq(2)'))

    })

    $('button:eq(3)').on('click',function () {
        /**
         * 4.before()
         * 语法: target.after(content)
         * 参数: 要插入的节点
         * 功能: 插入到目标元素的前面
         */

        //1. 添加操作
            //第一步: 生成节点元素,添加内容,并设置样式
        var li = $('<li>').css('background-color','lightgreen').html('我是before()新生成的节点4')

        // $('ul').before(li)

        // $('li:first').before(li)
        //2.移动操作
        // $('ul').before($('p:eq(3)'))
         $('li:eq(0)').before($('p:eq(3)'))


    })


</script>

<!--4.将节点添加或移动到目标节点-->
<script type="text/html">
   /* 1.插入位置:
      节点内容的前后
      节点的前后
      2.要插入的节点:
      对于新创建的节点:叫添加操作
      对已存在的节点: 叫移动操作
      3.所以对应的应该有四个方法
      插入到节点内容之后:appendTo()
      插入到节点内容之前:prependTo()
      插入到节点之后: InsertAfter()
      插入到节点之前: InsertBefore()
      */
   $('button').eq(0).on('click',function(){

       /**
        * 1.appendTo()
        * 语法: content.appendTo(target)
        * 参数: 要添加或移动到的节点
        * 功能: 插入到目标元素内容的后面
        */

       //1. 添加操作
       //第一步: 生成节点元素,添加内容,并设置样式
       var li = $('<li>').css('background-color','lightgreen').html('我是appendTo()新生成的节点1')
       //第二点: 将新节点插入到目标节点内容的后面
       // li.appendTo($('ul'))

       //2.移动操作(请将添加操作的代码注释掉)
         $('p:first').appendTo($('ul'))


   })
   $('button:eq(1)').click(function(){
       /**
        * 2.prependTo()
        * 语法: content.prepend(target)
        * 参数: 要添加或移动的节点
        * 功能: 插入到目标元素内容的前面
        */

       //1. 添加操作
       //第一步: 生成节点元素,添加内容,并设置样式
       var li = $('<li>').css('background-color','lightgreen').html('我是prependTo()新生成的节点2')
       //第二点: 将新节点插入到目标节点内容的后面

       // li.prependTo($('ul'))
       //2.移动操作(请将添加操作的代码注释掉)
       $('p:eq(1)').prependTo($('ul'))

    })
   $('button').eq(2).on('click',function(){
       /**
        * 3.insertAfter()
        * 语法: content.after(target)
        * 参数: 要插入的节点
        * 功能: 插入到目标节点的后面
        */
       //1. 添加操作
           // 第一步: 生成节点元素,添加内容,并设置样式
       var p = $('<li>').css('background-color','lightgreen').html('我是insertAfter()新生成的节点3')
       //第二点: 将新节点插入到目标节点的后面
       // p.insertAfter($('ul'))
       //  p.insertAfter($('li:eq(1)'))

       //2.移动操作
       //移动到<ul>之后
       // $('p:eq(2)').insertAfter($('ul'))
       //移动到第2个<li>之后
       $('p:eq(2)').insertAfter($('li:eq(1)'))
   })
   $('button').eq(3).on('click',function(){

       /**
        * 4.InsertBefore()
        * 语法: content.insertBefore(target)
        * 参数: 要插入的节点
        * 功能: 插入到目标元素的前面
        */
           //1. 添加操作
           // 第一步: 生成节点元素,添加内容,并设置样式
       var p = $('<li>').css('background-color','lightgreen').html('我是insertBefore()新生成的节点4')
       //第二点: 将新节点插入到目标节点的后面
       // p.insertBefore($('ul'))
       //插入到第3个<li>之前
       //  p.insertBefore($('li:eq(0)'))


       //2.移动操作
       //移动到<ul>之前
       // $('p:eq(3)').insertBefore($('ul'))
       //移动到第3个<li>之前
       $('p:eq(3)').insertBefore($('li:eq(2)'))
   })

</script>


<script>
    $('button:eq(0)').click(function(){
        /**
         * 1.wrap(content):
         * 功能:包裹每一个节点
         * 参数:内容或元素
         */

        //用法一.用一个新标签来包裹目标元素
        // $('a').wrap($('<li>'))
        //简写:
         $('a').wrap('<li>')      // 所有a标签外面被包括了一个li标签


        //用法二.用已存在的标签来包裹目标节点
        //  $('a').wrap($('p'))
    })

    $('button:eq(1)').click(function(){
        /**
         * 1.wrapInner(content):
         * 功能:包裹每一个节点的内容
         * 参数:内容或元素
         */

        //用法一.用一个新标签来包裹目标节点内容


        // $('a').wrapInner('<strong>')

        //用法二.用已存在的标签来包裹目标节点内容

        $('a').wrapInner($('p'))
     })

    $('button:eq(2)').click(function(){
        /**
         * 1.wrapAll(content):
         * 功能:包裹一组节点
         * 参数:内容或元素
         */

        //用法一.用一个新标签来包裹目标节点内容
        // $('a').wrapAll('<div style="background-color: #ff8899">')


        //用法二.用已存在的标签来包裹目标节点内容,给<li>再套一个<div>
        $('li').wrapAll($('<div style="background-color: cyan">'))
    })

    $('button:eq(3)').click(function(){
        /**
         * 1.unwrap(content):
         * 功能:删除节点上父元素
         * 参数:无
         */

        $('a').unwrap()
         //可以一直往上走
        // $('li').unwrap().unwrap()

    })


</script>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议