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

jQuery基础(二)—DOM篇

Aaron艾伦 Web前端工程师
难度入门
时长 2小时17分
  • empty()方法并不是删除节点,而是清空节点,他能清空元素中的所有后代节点

    enpty不能删除自己本身这个节点

    remove():该节点和该节点所包含的所有后代节点将同时被删除

    查看全部
  • jQuery遍历each()

    https://img1.sycdn.imooc.com//5b290f2e0001efe006690598.jpg

    查看全部
  • $("li").add("p");  选择li的同时选择p标签

    查看全部
  • siblings()无参数:jQuery是一个合集对象,所以通过sibling是匹配合集中每一个元素的同辈元素

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


    查看全部
  • <span>.children()    找儿子 .find()        找后代 .parent()      找爸爸 .parents()     找长辈(直接遍历到根元素,可能返回零个或一个或多个元素) .closest()     找长辈(从当前节点向上遍历,找到停止,返回零个或一个元素) .next()       找小弟 .prev()       找大哥 .siblings()    找兄弟</span>
    查看全部
  • <span>next()用法有参和无参使用 // 找到同级元素.item-2的下一个元素 $("li.item-2").next().css('border','1px solid red'); //找到所有class=item-3的li //然后给每个li,然后筛选出第一个,加上蓝色的边 $('.item-2').next(':first').css('border', '1px solid blue')</span>
    查看全部
  • jQuery遍历之closest()方法

    以选定的元素为中心,往内查找可以通过find、children方法。如果往上查找,也就是查找当前元素的父辈祖辈元素,jQuery提供了closest()方法,这个方法类似parents但是又有一些细微的区别,属于使用频率很高的方法

    closest()方法接受一个匹配元素的选择器字符串

    从元素本身开始,在DOM 树上逐级向上级元素匹配,并返回最先匹配的祖先元素

    例如:在div元素中,往上查找所有的li元素,可以这样表达

    $("div").closet("li')

    注意:jQuery是一个合集对象,所以通过closest是匹配合集中每一个元素的祖先元素

    closest()方法给定的jQuery集合或元素来过滤元素

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

    注意事项:在使用的时候需要特别注意下

    粗看.parents()和.closest()是有点相似的,都是往上遍历祖辈元素,但是两者还是有区别的,否则就没有存在的意义了

    1. 起始位置不同:.closest开始于当前元素 .parents开始于父元素

    2. 遍历的目标不同:.closest要找到指定的目标,.parents遍历到文档根元素,closest向上查找,直到找到一个匹配的就停止查找,parents一直查找到根元素,并将匹配的元素加入集合

    3. 结果不同:.closest返回的是包含零个或一个元素的jquery对象,parents返回的是包含零个或一个或多个元素的jquery对象


    查看全部
  • jQuery遍历之parents()方法

    jQuery是一个合集对象,如果想快速查找合集里面的每一个元素的所有祖辈元素,此时可以用parents()方法

    其实也类似find与children的区别,parent只会查找一级,parents则会往上一直查到查找到祖先节点

    理解节点查找关系:

    <div class="div">     <ul class="son">         <li class="grandson">1</li>     </ul> </div>

    在li节点上找到祖 辈元素div, 这里可以用$("li").parents()方法

    parents()无参数

    parents()方法允许我们能够在DOM树中搜索到这些元素的祖先元素,从有序的向上匹配元素,并根据匹配的元素创建一个新的 jQuery 对象;

    返回的元素秩序是从离他们最近的父级元素开始的

    注意:jQuery是一个合集对象,所以通过parent是匹配合集中所有元素的祖辈元素

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

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

    注意事项:

    1 .parents()和.parent()方法是相似的,但后者只是进行了一个单级的DOM树查找 2  $( "html" ).parent()方法返回一个包含document的集合,而$( "html" ).parents()返回一个空集合。


    查看全部
  • jQuery遍历之parent()方法

    jQuery是一个合集对象,如果想快速查找合集里面的每一个元素的父元素(这里可以理解为就是父亲-儿子的关系),此时可以用parent()方法

    因为是父元素,这个方法只会向上查找一级

    理解节点查找关系:

    <div class="div">     <ul class="son">         <li class="grandson">1</li>     </ul> </div>

    查找ul的父元素div, $(ul).parent(),就是这样简单的表达

    parent()无参数

    parent()方法允许我们能够在DOM树中搜索到这些元素的父级元素,从有序的向上匹配元素,并根据匹配的元素创建一个新的 jQuery 对象

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

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

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


    查看全部
  • jQuery遍历之find()方法

    jQuery是一个合集对象,如果想快速查找DOM树中的这些元素的后代元素,此时可以用find()方法,这也是开发使用频率很高的方法。这里要注意 children与find方法的区别,children是父子关系查找,find是后代关系(包含父子关系)

    理解节点查找关系:

    <div class="div">     <ul class="son">         <li class="grandson">1</li>     </ul> </div>

    代码如果是$("div").find("li"),此时,li与div是祖辈关系,通过find方法就可以快速的查找到了。

    .find()方法要注意的知识点:

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

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

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

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

    注意重点:

    .find()和.children()方法是相似的 1.children只查找第一级的子节点 2.find查找范围包括子节点的所有后代节点

    具体的操作,请参考右边的代码


    查看全部
  • DOM包裹wrapInner()方法

    如果要将合集中的元素内部所有的子元素用其他元素包裹起来,并当作指定元素的子元素,针对这样的处理,JQuery提供了一个wrapInner方法

    .wrapInner( wrappingElement )给集合中匹配的元素的内部,增加包裹的HTML结构

    听起来有点绕,可以用个简单的例子描述下,简单的看一段代码:

    <div>p元素</div> <div>p元素</div>

    给所有元素增加一个p包裹

    $('div').wrapInner('<p></p>')

    最后的结构,匹配的di元素的内部元素被p给包裹了

    <div>     <p>p元素</p> </div> <div>     <p>p元素</p> </div>

    .wrapInner( function ) 允许我们用一个callback函数做参数,每次遇到匹配元素时,该函数被执行,返回一个DOM元素,jQuery对象,或者HTML片段,用来包住匹配元素的内容

    以上面案例为例,

    $('div').wrapInner(function() {     return '<p></p>';  })

    以上的写法的结果如下,等同于第一种处理了

    <div>     <p>p元素</p> </div> <div>     <p>p元素</p> </div>

    注意:

     当通过一个选择器字符串传递给.wrapInner() 函数,其参数应该是格式正确的 HTML,并且 HTML 标签应该是被正确关闭的。


    查看全部
  • DOM包裹wrapAll()方法

    wrap是针对单个dom元素处理,如果要将合中的元素用其他元素包裹起来,也就是给他们增加一个父元素,针对这样的处理,JQuery提供了一个wrapAll方法

    .wrapAll( wrappingElement )给集合中匹配的元素增加一个外面包裹HTML结构

    简单的看一段代码:

    <p>p元素</p>
    <p>p元素</p>

    给所有p元素增加一个div包裹

    $('p').wrapAll('<div></div>')

    最后的结构,2个P元素都增加了一个父div的结构

    <div>
        <p>p元素</p>
        <p>p元素</p>
    </div>

    .wrapAll( function ) 一个回调函数,返回用于包裹匹配元素的 HTML 内容或 jQuery 对象

    通过回调的方式可以单独处理每一个元素

    以上面案例为例,

    $('p').wrapAll(function() {
        return '<div><div/>'; 
    })

    以上的写法的结果如下,等同于warp的处理了

    <div>
        <p>p元素</p>
    </div>
    <div>
        <p>p元素</p>
    </div>

    注意:

    .wrapAll()函数可以接受任何字符串或对象,可以传递给$()工厂函数来指定一个DOM结构。这种结构可以嵌套多层,但是最内层只能有一个元素。所有匹配元素将会被当作是一个整体,在这个整体的外部用指定的 HTML 结构进行包裹。


    查看全部
  • dom包裹unwrap()方法   删除父元素

    查看全部
  • DOM包裹wrap()方法

    https://img1.sycdn.imooc.com//5b2875f30001440a06690601.jpg

    查看全部
  • DOM替换replaceWith()和replaceAll()

    之前学习了节点的内插入、外插入以及删除方法,这节会学习替换方法replaceWith

    .replaceWith( newContent ):用提供的内容替换集合中所有匹配的元素并且返回被删除元素的集合

    简单来说:用$()选择节点A,调用replaceWith方法,传入一个新的内容B(HTML字符串,DOM元素,或者jQuery对象)用来替换选中的节点A

    看个简单的例子:一段HTML代码

    <div>
        <p>第一段</p>
        <p>第二段</p>
        <p>第三段</p>
    </div>

    替换第二段的节点与内容

    $("p:eq(1)").replaceWith('<a >替换第二段的内容</a>')

    通过jQuery筛选出第二个p元素,调用replaceWith进行替换,结果如下

    <div>
        <p>第一段</p>
        <a >替换第二段的内容</a>'
        <p>第三段</p>
    </div>

    .replaceAll( target ) 用集合的匹配元素替换每个目标元素

    .replaceAll()和.replaceWith()功能类似,但是目标和源相反,用上述的HTML结构,我们用replaceAll处理

    $('<a >替换第二段的内容</a>').replaceAll('p:eq(1)')

    总结:

    • .replaceAll()和.replaceWith()功能类似,主要是目标和源的位置区别

    • .replaceWith()与.replaceAll() 方法会删除与节点相关联的所有数据和事件处理程序

    • .replaceWith()方法,和大部分其他jQuery方法一样,返回jQuery对象,所以可以和其他方法链接使用

    • .replaceWith()方法返回的jQuery对象引用的是替换前的节点,而不是通过replaceWith/replaceAll方法替换后的节点


    查看全部

举报

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

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