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

jQuery基础(二)—DOM篇

Aaron艾伦 Web前端工程师
难度入门
时长 2小时17分
  • jq遍历

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

    .add()的参数可以几乎接受任何的$(),包括一个JQ选择器表达式,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.getElementByTadName('p')[0])

    处理三

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

    查看全部
  • jq遍历

    siblings():快速查找指定元素集合中每一个元素的同辈元素,此时可以用siblings()方法


    查看全部
  • jq遍历

    prev()方法:快速查找指定元素集合中每一个元素紧邻的前面同辈元素的元素集合,此时可以用prev()方法


    查看全部
  • jq 遍历

    next()方法:快速查找指定元素集合中每一个元素紧邻的后面同辈元素的元素集合,此时可以用next()方法

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

    class="item-1"元素就是红色部分,那蓝色的class="item-2"就是它的兄弟元素

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


    查看全部
  • jq遍历

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

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

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

    $('div').closest('li')


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

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

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


    查看全部
  • jq遍历

    parents():快速查找合集里面的每一个元素的所有祖辈元素

    注意:

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


    查看全部
  • jq遍历

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



    查看全部
  • jq遍历

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

    .find()方法知识点:


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

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

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

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


    查看全部
  • jq遍历

    children()方法:jQuery是一个合集对象,如果想快速查找合集里面的第一级子元素,此时可以用children()方法。这里需要注意:.children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈,这里可以理解为就是父亲-儿子的关系)


    children()无参数

    $('div').children(".selected")

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

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


    <div>p元素</div>

    <div>p1元素</div>

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

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

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

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


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

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

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

    <p>p1元素</p>

    <p>p2元素</p>

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

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

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

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


    查看全部
  • 比如我们操作$("li").css('') 给所有的li设置style值,因为jQuery是一个合集对象,所以css方法内部就必须封装一个遍历的方法,被称为隐式迭代的过程。要一个一个给合集中每一个li设置颜色,这里方法就是each

    .each() 方法就是一个for循环的迭代器,它会迭代jQuery对象合集中的每一个DOM元素。每次回调函数执行时,会传递当前循环次数作为参数(从0开始计数

    所以大体上了解3个重点:

    each是一个for循环的包装迭代器
    each通过回调的方式处理,并且会有2个固定的实参,索引与元素
    each回调方法中的this指向当前迭代的dom元素

    看一个简单的案例

    <ul>
        <li>慕课网</li>
        <li>Aaron</li>
    </ul>

    开始迭代li,循环2次

    $("li").each(function(index, element) {
         index 索引 0,1
         element是对应的li节点 li,li
         this 指向的是li
    })

    这样可以在循环体会做一些逻辑操作了,如果需要提前退出,可以以通过返回 false以便在回调函数内中止循


    查看全部
  • dom包裹unwrap()方法:将匹配元素集合的父级元素删除,保留自身(和兄弟元素)在原来的位置

    <div>

        <p>p元素</p>

    </div>

    删除div,可以直接通过remove或者empty方法

    $('div').remove();

    $('p').unwrap();

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

    如果将元素用其他元素包裹起来,也就是给它增加一个父元素,

    .wrap(wrappingElement):在集合中匹配的每个元素周围包裹一个html结构

    例子

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

    变成了:

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


    .wrap(function):一个回掉函数,返回用于包裹匹配元素的HTML内容或者jquery对象

    使用后的效果与直接传递参数是一样,只不过可以把代码写在函数体内部,写法不同而已

    $('p').wrap(function(){

            return'<div></div>';

    })

    查看全部
  • replaceWith() replaceAll()

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

    例子

    <div>

            <p>第一段</p>

            <p>第二段</p>

            <p>第三段</p>

    </div>

    替换第二段的内容

    $("p:eq(1).replaceWith('<a style = "color:red">替换第二段内容</a>’)


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

    .replaceAll()和.replaceWith()功能类似,但是目标和源相反

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



    查看全部

举报

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

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