为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
jQuery基础(二)—DOM篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery基础(二)—DOM篇

Aaron艾伦 Web前端工程师
难度入门
时长 2小时17分
  • clone()

    .clone()方法深度 复制所有匹配的元素集合,包括所有匹配元素、匹配元素的下级元素、文字节点。

    需要注意,如果节点有事件或者数据之类的其他处理,我们需要通过clone(ture)传递一个布尔值ture用来指定,这样不仅仅只是克隆单纯的节点结构,还要把附带的事件与数据给一并克隆了

    例子

    $("div").on('click',function(){//执行操作

    //clone处理一

    $("div").clone()//只克隆了结构,事件丢失

    //clone处理二

    $("div").clone(true)//结构、事件与数据都克隆

    • clone()方法时,在将它插入到文档之前,我们可以修改克隆后的元素或者元素内容,如右边代码我 $(this).clone().css('color','red') 增加了一个颜色


    查看全部
    0 采集 收起 来源:DOM拷贝clone()

    2018-07-09

  • Dom节点删除之保留数据的删除操作 detach()

    希望临时删除页面上的节点,但是又不希望节点上的数据与事件丢失,并且能在下一个时间段让这个删除的节点显示到页面,这时候就可以使用detach方法来处理。

    $("div").detach()这一句会移除对象,仅仅是显示效果没有了。但是内存中还是存在的。当你append之后,又重新回到了文档流中。就又显示出来了。

    通过 $("p").detach()把所有的P元素删除后,再通过append把删除的p元素放到页面上,通过点击文字,可以证明事件没有丢失

    查看全部
  • remove()

    remove与empty一样,都是移除元素的方法,但是remove会将元素自身移除,同时也会移除元素内部的一切,包括绑定的事件及与该元素相关的jQuery数据。

    例如一段节点,绑定点击事件

    <div class="hello"><p>慕课网</p></div>
    $('.hello').on("click",fn)
    通过remove方法移除div及其内部所有元素,remove内部会自动操作事件销毁方法,
    //通过remove处理
    $('.hello').remove()
    //结果:<div class="hello"><p>慕课网</p></div> 全部被移除
    //节点不存在了,同事事件也会被销毁

    可以通过$()选择一组相同的元素,然后通过remove()传递筛选的规则

    /找到所有p元素中,包含了3的元素

            //这个也是一个过滤器的处理

            $("p").remove(":contains('3')")


    查看全部
  • dom节点删除 empty()

    清空方法,只移除指定元素中的所有子节点,不仅移除子元素,同样移除元素里的文本。

    例;

    //通过empty处理
    $('.hello').empty()
    
    //结果:<p>慕课网</p>被移除
    <div class="hello"></div>


    查看全部
  • dom外部插入insertAfter()与insertBefore()

    • .before()和.insertBefore()实现同样的功能。主要的区别是语法——内容和目标的位置。 对于before()选择表达式在函数前面,内容作为参数,而.insertBefore()刚好相反,内容在方法前面,它将被放在参数里元素的前面

    • .after()和.insertAfter() 实现同样的功能。主要的不同是语法——特别是(插入)内容和目标的位置。 对于after()选择表达式在函数的前面,参数是将要插入的内容。对于 .insertAfter(), 刚好相反,内容在方法前面,它将被放在参数里元素的后面

    • 例子:

    //在test1元素前后插入集合中每个匹配的元素

            //不支持多参数

            $('<p >测试insertBefore方法增加</p>', '<p >多参数</p>').insertBefore($(".test1"))


    查看全部
  • dom内部插入prepend()与prependTo()

    这个是在被选元素之前插入,append()与appendTo()是在被选元素的结尾插入

    prepend(content):向每个匹配元素的内部前置内容

    prependTo(content):把所有匹配的元素前置到另一个指定的元素集合中

    • append()向每个匹配的元素内部追加内容

    • prepend()向每个匹配的元素内部前置内容

    • appendTo()把所有匹配的元素追加到另一个指定元素的集合中

    • prependTo()把所有匹配的元素前置到另一个指定的元素集合中


    查看全部
  • after()  before()

    .after()  在匹配元素集合中的每个元素后面插入参数所制定的内容,作为其兄弟节点

    .before(content) 据参数设定,在匹配元素前面插入内容

    查看全部
  • dom内部插入append()与appenTo()

    append(content)  向每个匹配的元素内部追加内容

    appendTo(content) 把所有匹配的元素追加到另一个、指定的元素集合中

    append()前面是被插入的对象,后面是要在对象内插入的元素内容
    appendTo()前面是要插入的元素内容,而后面是被插入的对象


    查看全部
  • Jquery创建节点

    $("<div></div>")

    查看全部
    • ind是遍历当前元素集合中每个元素的后代。只要符合,不管是儿子辈,孙子辈都可以。

    • 与其他的树遍历方法不同,选择器表达式对于 .find() 是必需的参数。如果我们需要实现对所有后代元素的取回,可以传递通配选择器 '*'。

    • find只在后代中遍历,不包括自己。

    • 选择器 context 是由 .find() 方法实现的;因此,$('.item-ii').find('li') 等价于 $('li', '.item-ii')(找到类名为item-ii的标签下的li标签)。


    查看全部
  •        

           

           

    .children()    找儿子



    .find()        找后代



    .parent()      找爸爸



    .parents()     找长辈(直接遍历到根元素,可能返回零个或一个或多个元素)



    .closest()     找长辈(从当前节点向上遍历,找到停止,返回零个或一个元素)



    .next()       找小弟



    .prev()       找大哥



    .siblings()    找兄弟


    查看全部
  • Query是一个合集对象,通过$()方法找到指定的元素合集后可以进行一系列的操作。$()之后就意味着这个合集对象已经是确定的,如果后期需要再往这个合集中添加一新的元素要如何处理?jQuery为此提供add方法,用来创建一个新的jQuery对象 ,元素添加到匹配的元素集合中

    .add()的参数可以几乎接受任何的$(),包括一个jQuery选择器表达式,DOM元素,或HTML片段引用。

    简单的看一个案例:

    操作:选择所有的li元素,之后把p元素也加入到li的合集中

    <ul>
        <li>list item 1</li>
        <li>list item 3</li>
    </ul>
    <p>新的p元素</p>

    处理一:传递选择器

    $('li').add('p')

    处理二:传递dom元素

    $('li').add(document.getElementsByTagName('p')[0])

    还有一种方式,就是动态创建P标签加入到合集,然后插入到指定的位置,但是这样就改变元素的本身的排列了

     $('li').add('<p>新的p元素</p>').appendTo(目标位置)


    查看全部
  • jQuery是一个合集对象,如果想快速查找指定元素集合中每一个元素的同辈元素,此时可以用siblings()方法

    如下蓝色的class="item-2"的li元素,红色的节点就是它的siblings兄弟节点

    <ul class="level-3">    <li class="item-1">1</li>
        <li class="item-2">2</li>
        <li class="item-3">3</li></ul>

    siblings()无参数

    取得一个包含匹配的元素集合中每一个元素的同辈元素的元素集合

    注意:jQuery是一个合集对象,所以通过siblings是匹配合集中每一个元素的同辈元素

    siblings()方法选择性地接受同一类型选择器表达式

    同样的也是因为jQuery是合集对象,可能需要对这个合集对象进行一定的筛选,找出目标元素,所以允许传一个选择器的表达式


    查看全部
  • 如下蓝色的class="item-2"的li元素,红色的节点就是它的prev兄弟节点

    <ul class="level-3">    <li class="item-1">1</li>
        <li class="item-2">2</li>
        <li class="item-3">3</li>
    </ul>

    prev()无参数

    取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合

    注意:jQuery是一个合集对象,所以通过prev是匹配合集中每一个元素的上一个兄弟元素

    prev()方法选择性地接受同一类型选择器表达式

    同样的也是因为jQuery是合集对象,可能需要对这个合集对象进行一定的筛选,找出目标元素,所以允许传一个选择器的表达式


    查看全部
  • 如下class="item-1"元素就是红色部分,那蓝色的class="item-2"就是它的兄弟元素

    <ul class="level-3">    <li class="item-1">1</li>
        <li class="item-2">2</li>
        <li class="item-3">3</li>
    </ul>

    next()无参数

    允许我们找遍元素集合中紧跟着这些元素的直接兄弟元素,并根据匹配的元素创建一个新的 jQuery 对象。

    注意:jQuery是一个合集对象,所以通过next匹配合集中每一个元素的下一个兄弟元素

    next()方法选择性地接受同一类型选择器表达式

    同样的也是因为jQuery是合集对象,可能需要对这个合集对象进行一定的筛选,找出目标元素,所以允许传一个选择器的表达式


    查看全部

举报

0/150
提交
取消
课程须知
1、有HTML/CSS基础 2、有JavaScript基础
老师告诉你能学到什么?
1、jQuery的语法 2、jQuery节点操作
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!