zoukankan      html  css  js  c++  java
  • 9. jQuery 的节点操作

    先来对比对比JS 和 JQ 的节点操作:

    + 原生 JS 的节点操作
    => 创建节点, 插入节点, 删除节点, 替换节点, 克隆节点
    + jQuery 的节点操作
    => 创建节点, 插入节点, 删除节点, 替换节点, 克隆节点

    !这里用$选择的元素 都有隐式迭代 都会执行插入、替换、删除的啊... 如果不想这样 那你就精准定位啊!

    1. 创建节点
     语法:  $(html结构字符串)
    => 当 $() 里面传递一个选择器的时候, 就是获取元素
    => 当 $() 里面传递一个 html 结构字符串的时候, 就是创建元素节点
    => 当 $() 里面传递一个 DOM 元素节点的时候, 就是转换成 jQuery 元素结合  (DOM 元素由JS的语法获取 )


    2. 插入节点
    内部插入(父子关系的插入)


    2-1. append()
    => 语法: 父元素.append(子元素)
    => 把子元素插入到父元素内部, 放在末尾的位置
    2-2. appendTo()
    => 语法: 子元素.appendTo(父元素)
    => 把子元素插入到父元素内部, 放在末尾的位置

    2.1和2.2用法一样 但语法不一样而已 因为是链式编程 所以呢 会大大提高我们编程的灵活性

    2-3. prepend()
    => 语法: 父元素.prepend(子元素)
    => 把子元素插入到父元素, 放在最前面的位置
    2-4. prependTo()
    => 语法: 子元素.prependTo(父元素)
    => 把子元素插入到父元素, 放在最前面的位置

    2.3和2.4用法一样 但语法不一样而已 因为是链式编程 所以呢 会大大提高我们编程的灵活性


     外部插入(兄弟关系的插入)
    2-5. after()
    => 语法:  存在元素.after(插入元素)
    => 把插入元素排在存在元素的后面, 以兄弟关系出现
    2-6. insertAfter()
    => 语法: 插入元素.insertAfter(存在元素)
    => 把插入元素排在存在元素的后面, 以兄弟关系出现

    2.5 和 2.6 的用法也一样 但是语法不一样-----


    2-7. before()
    => 语法: 存在元素.before(插入元素)
    => 把插入元素排在存在元素的前面, 以兄弟关系出现
    2-8. insertBefore()
    => 语法: 插入元素.insertBefore(存在元素)
    => 把插入元素排在存在元素的前面, 以兄弟关系出现

    2.5 和 2.6 的用法也一样 但是语法不一样-----

    插入节点没什么 主要注意一点 如果有一个节点 p 你吧它插入到xx前面  又把它插入到xxx 后面的时候   它会以最后一个为准 ,因为他这些插入移动是按照 地址来的 好比和复制不是一个意思 而是移动.


    3. 删除节点
    3-1. remove()
    => 语法: 元素集合.remove()
    => 把自己从自己的父元素里面移出 如果自己是父元素 子元素全删
    3-2. empty()
    => 语法: 元素集合.empty()
    => 把自己变成空标签, 把所有后代节点全部移除(就是把全部东西移走 删除)  但是源代码还存在自己 但是页面上看不见自己 如果自己是父元素 即 除了自己的源代码可见 子元素全部删除(和 remove 一样)


    4. 替换节点
    4-1. replaceWith()
    => 语法: 换下节点.replaceWith(换上节点)

    换句话讲: 旧节点.replaceWith(新节点)

    -----------------------------------------------------------------------
    4-2. replaceAll()
    => 语法: 换上节点.replaceAll(换下节点)

    换句话讲: 新节点.replaceAll(旧节点)

    这玩意也是一样啊  功能是一样的 娘嫩 语法不一样、

    替换节点非常注意隐式迭代啊!!! 而且!!! 换上节点会在原位置消失(剪切) 类似于剪切覆盖!!!  就是所谓的 新节点. 那么旧节点就会被删除.


    5. 克隆节点
    5-1. clone()
    => 语法: 元素集合.clone()  //两个参数
    => 必然携带所有节点过来
    => 第一个参数默认是 false, 表示是否克隆元素本身的事件, 选填 true
    => 第二个参数默认是 跟随第一个, 表示是否克隆元素后代节点的事件, 选填
    => 注意: 当第一个参数是 false 的时候, 第二个参数没有意义  (反正没意义就是没意义 , 因为第二参数默认跟随第一参数  但 参1为假 参二无论如何都为假啊!)

    好了就做那么多 主要还是 emmm 主要还是知道有这么个东西 遇到了会用即可。

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14801146.html

  • 相关阅读:
    How to change hostname on SLE
    How to install starDIct on suse OS?
    python logging usage
    How to reset password for unknow root
    How to use wget ?
    How to only capute sub-matched character by grep
    How to inspect who is caller of func and who is the class of instance
    How to use groovy script on jenkins
    Vim ide for shell development
    linux高性能服务器编程 (二) --IP协议详解
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14801146.html
Copyright © 2011-2022 走看看