Jquery:Jquery中的DOM操作<二>

    由于昨天晚上回来的晚,写的有点匆忙,所以昨天的学习笔记中出现了多处错误的地方,幸好有各位园友帮忙指出,在这里谢过各位了!今天继续学习关于Jquery中DOM的操作,其实是昨天随笔的延续,求围观!!!

    HTML示例代码如下:

<p title="选择你最喜欢的水果">你最喜欢的水果是?</p>
    <ul>
        <li title="苹果">苹果</li>
        <li title="橘子">橘子</li>
        <li title="菠萝">菠萝</li>
    </ul>
View Code

    5、替换节点

    替换节点有两个方法:replaceWith()和replaceAll()。

    replaceWith():将所有匹配的元素替换成指定的HTML或者DOM元素。

    $("p").replaceWith("<strong>你最不喜欢的水果是?</strong>")。

    上面代码的效果是将示例中的<p>元素替换为指定的<strong>元素。

    replaceAll()的作用与replaceWith()的作用相同,只是写法不同而已。

    $("<strong>你最不喜欢的水果是?</strong>").replaceAll("p")。效果同上。

    6、包裹节点

    包裹节点的方法有三种:wrap()、wrapAll()、wrapInner()。

    wrap()方法是在选中节点的外面包裹指定的标记,如果有多个相同的元素被选中,则每个元素单独包裹。

    wrapAll()方法也实现了将选中元素包裹指定标记,但是它与wrap()方法的不同是:如果有多个元素被选中,它会在所有被选中的元素外面包裹一个指定标记。(注:如果被包裹的多个元素间有其它元素,其它元素会被放到包裹元素之后)。

    wrapInner()方法与上面两种方法的不同是:它将选中元素的子元素用指定的标记包裹起来,包括文本节点。

    7、属性操作

    在Jquery中,用attr()方法来获取或设置属性,用removeAttr()方法来删除元素属性。

    attr()方法中如果只有一个参数,则是获取元素的属性。

    $("p").attr("title"),获取<p>元素的title属性。

    attr()方法中如果有两个参数,则是为指定元素设置某个属性的值。

    $("p").attr("title","your title"),将<p>元素的title属性的值设置为“your title”。

    attr()方法还可以为指定元素设置多个属性的值。

    $("p").attr({"title":"your title","name":"text"}),将<p>元素的title属性的值设置为"your title",name属性的值设置为“text”。

    removeAttr():$("p").removeAttr("title"),删除<p>元素的title属性值。

    8、样式操作

      (1)、获取样式和设置样式也是用attr()方法来实现,用法与设置和获取title属性相同。

      (2)、追加样式使用addClass()方法。如果在<head>标签下的<style>标签中用class类,即可使用addClass("className")来追加样式。追加样式时需要注意的是:在原有样式的基础上追加样式,如果前后两种样式中用相同的属性,则后者的属性覆盖前者的属性。

      (3)、移除样式用removeClass()方法来实现,如果直接用removeClass()没有参数的话,则默认移除选中元素的所有样式;如果有一个参数,则移除指定的一个样式,如果括号中的一对引号有两个样式的名称,并且样式的名称以空格分隔开来的话,则移除这两个样式。

      (4)、切换样式。在Jquery中有一个方法toggle(),这个方法我在第二章时就看到了,但忘记介绍了。toggle()方法实现了事件的切换,如果在toggle()存在多个事件,在触发toggle()后会轮流执行其中的事件。而切换样式的方法是toggleClass(),其中参数是一组样式的名称,执行时,如果已存在此样式,则移除样式,如果不存在,则添加该样式。

      (5)、判断是否含有某个样式用方法hasClass(),其中的参数则为样式名,如果样式存在,则返回true,不存在返回false。这个方法其实是调用了is()方法来实现的,所以它等同于is(".className")。

    9、设置和获取HTML、文本和值

    html()方法等同于JavaScript中的innerHTML属性,它的功能是获取或设置某个元素中的HTML内容。

    text()方法等同于JavaScript中的innerText属性,它的功能是获取或设置某个元素中的文本内容。

    val()方法等同于JavaScript中的value属性,它的功能是获取或设置元素的值。

    上面三个方法的用法相同,如果它们没有参数的时,则是获取值;如果有参数时,则是设置值。另外,JavaScript中的innerText不能在Firefox浏览器下运行,而Jquery则支持所有浏览器。

    focus()方法相当于JavaScript中的onfocus()方法,作用是处理获得焦点时的事件。

    blur()方法相当于JavaScript中的onblur()方法,作用是处理失去焦点时的事件。

    10、遍历节点

    children():获取选中元素的子元素的集合,不考虑其后代元素。

    next():获取选中元素后面紧邻的同辈元素。

    prev():获取选中元素前面紧邻的同辈元素。

    siblings():获取选中元素前后的所有同辈元素。

    closest():该方法用于取得最近的匹配元素,首先看选中元素是否匹配,若不匹配则向上检索父元素,直到找到匹配元素。如果没有匹配元素,则返回一个空Jquery对象。

    parent():获取每一个选中元素的父元素。

    parents():获取每一个选中元素的祖先元素。

    好吧,今天就到此结束了。这一个多月来一直在加班,晚上回来的时候就九点半了,有时候会想,要不今天累了就不学习了,但是马上又想到如果今天不学习了,可能还会有下一个今天,还有下下一个今天,所以我还是坚持了下来,我相信我能一直坚持下去,我一定能成长为大神的!!!

    各位,晚安!

原文地址:https://www.cnblogs.com/liu-xiaob/p/3781074.html