锋利的jQuery-第三章 jQuery中的DOM操作

                   ***jQuery中的DOM操作***

3.1DOM操作的分类
DOM操作分为3各方面:DOM Core(核心),HTML-DOM和CSS-DOM.
3.2jQuery中的DOM操作
锋利的jQuery-第三章 jQuery中的DOM操作_第1张图片
锋利的jQuery-第三章 jQuery中的DOM操作_第2张图片
3.21查找节点
备注:因为我之前只是看了前三章并没有在电脑上敲代码,所以以为jq和js使用的环境一样,导致书上的案例没有弹出,然后又往前看了书,下载了jq库,现在jq能够正常使用了。
1).查找元素节点
锋利的jQuery-第三章 jQuery中的DOM操作_第3张图片
输出的结果注(IE8无输出结果)
:eq(index)基本过滤选择器,ul li:eq(1)表示的是

  • 元素里第二个
  • 节点。因为index是从0开始的。
    2)查找属性节点
    使用attr()方法来获取各种属性的值,参数可以是一个也可以是两个。当是一个时,则是要查询属性的名字。
    锋利的jQuery-第三章 jQuery中的DOM操作_第4张图片
    输出的结果
    注:attr是单词attribute的简写。
    3.2.2创建节点
    1)创建元素节点的方法是使用$(html);方法。这种方法会根据传入的HTML标记字符串,创建一个DOM对象,并将这个DOM对象包装成jQuery对象后返回。
    案例
    锋利的jQuery-第三章 jQuery中的DOM操作_第5张图片
    append是JavaScript中的appendchild。1.appendChild(2).把2插入1中作为子元素。
    2)创建文本节点
    文本节点
    创建文本节点就是创建元素节点时直接把文本内容写出来。好简单。
    3)创建属性节点
    与创建文本节点类似,也是在创建元素节点时一起创建。
    属性节点
    锋利的jQuery-第三章 jQuery中的DOM操作_第6张图片
    只是多了title属性。
    3.2.3插入节点
    锋利的jQuery-第三章 jQuery中的DOM操作_第7张图片
    锋利的jQuery-第三章 jQuery中的DOM操作_第8张图片
    其他方法
    append To()
    prepend():a.prepend(b),将b放在a前面。
    prependTo():a.prependTo(b),将a放在b的前面。
    after():a.after(b):将b放在a的后面
    insertAfter():a.insertAfter(b):将a放在b的后面。
    before():原理同上
    insertBefore():原理同上。
    3.2.4删除节点
    jQuery有三种方法删除节点:remove(),detach()和empty().
    1)remove()
    作用是从DOM中删除所有匹配的元素,传入的参数用于根据jQuery表达式来筛选元素。
    1
    2
    获取第二个
  • 元素节点,然后删除。

这个方法的返回值是一个指向已被删除的节点引用,因此可以在以后使用这些元素。
3
锋利的jQuery-第三章 jQuery中的DOM操作_第9张图片
简写:$(“ul li:eq(1)”).appendTo(“ul”)//appendTo也可以用来移动元素。

通过传参来选择性的删除元素
5
锋利的jQuery-第三章 jQuery中的DOM操作_第10张图片

  • 元素中属性title不等于“菠萝”的
  • 元素删除。
  • 2)detach()方法
    也不会把匹配的元素从jQuery对象中删除。与remove()不同的是,所有绑定的事件,附加的数据都会保留下来。
    锋利的jQuery-第三章 jQuery中的DOM操作_第11张图片
    锋利的jQuery-第三章 jQuery中的DOM操作_第12张图片
    重新追加元素,之前绑定的事件还在,如果remove()则会失效。
    3)empty()
    不是删除节点,而是清空节点,它能清空元素中的所有后代节点。
    9
    锋利的jQuery-第三章 jQuery中的DOM操作_第13张图片
    注意:锋利的jQuery-第三章 jQuery中的DOM操作_第14张图片
    3.2.5复制节点
    clone()
    12
    锋利的jQuery-第三章 jQuery中的DOM操作_第15张图片
    注:当鼠标点击原始的“菠萝”,会无限复制。但是点击新的复制的“菠萝”就不会。
    如果想让新元素也具有复制功能如下:
    锋利的jQuery-第三章 jQuery中的DOM操作_第16张图片
    锋利的jQuery-第三章 jQuery中的DOM操作_第17张图片
    3.2.6替换节点
    replaceWith()和replaceAll()
    replaceWith()方法的作用是将所有匹配的元素都替换成HTML或者DOM元素。
    1
    2
    replaceAll()用法与replaceWith()相反
    3
    注意如果在替换之前,已经为元素绑定事件,替换后原先绑定事件将会与被替换的元素一起消失,需要重新绑定事件。
    3.2.7包裹节点
    wrap()
    1
    锋利的jQuery-第三章 jQuery中的DOM操作_第18张图片.

你可能感兴趣的:(锋利的jQ,jquery)