zoukankan      html  css  js  c++  java
  • 锋利的jQuery学习笔记(4)-DOM操作

    1. DOM操作的分类:

      DOM Core:JavaScript中的getElementByID,getElementByTagName,getAttribute,setAttribute等方法都是其的组成部分。

      HTML_DOM:如document.forms //HTML-DOM提供了一个forms对象;element.src //获取某元素的属性。

      CSS_DOM:获取和设置style对象的各种属性,如element.style.color="red"。

    2. jQuery中的DOM操作:

      1.查找节点:

        var $li=$('ul li:eq(1)'); //获取<ul>中第二个<li>节点

        var li_txt=$li.text();

        alert(li_txt);

      2.创建节点属性:

        var $para=$('p');

        var p_txt=$para.attr("title");

        alert(p_txt);

      3. 创建节点:

        3.1 创建元素节点:

          var $li_1=$("<li></li>");

          var $li_2=$("<li></li>");

          $("ul").append($li_1);

          $("ul").append($li_2);

        3.2 创建文本节点:

          var $li_1=$("<li>香蕉</li>");

          var $li_2=$("<li>雪梨</li>");

          $('ul').append($li_1);

          $('ul').append($li_2);//链式操作:$('ul').append($li_1).append($li_2)

        3.3 创建节点属性:

      4. 插入节点

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

        appendTo():将匹配的元素追加到指定的元素中例如:$('a').appendto('b')是将a追加到b中

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

        prependTo():将所有匹配的元素前置到指定的元素中。

        after():在每个匹配的元素之后插入内容。

        insertAfter():将所有匹配的元素插入到指定的元素后面。

        before():在每个匹配的元素之前插入内容

        insertBefore():将所有匹配的元素插入到指定的元素的前面。

      5. 删除节点

        5.1 remove()方法

          $('ul li:eq(2)').remove(); //获取元素<ul>中第二个<li>后,从网页中将其删除

          $('ul li:eq(2)').remove("li[title!=菠萝]"); //支持通过传递参数选择性地删除某些元素。

        5.2 empty()方法:清空节点内容,不是删除。

      6. 复制节点

        $('ul li').click(function(){

          $(this).clone().appendTo("ul"); //复制当前节点,并追加到<ul>中

        })

        clone(true):表示复制元素的同时复制改元素所绑定的事件。

      7. 替换节点

        7.1 replaceWith()方法

          将所有匹配的元素都替换成HTML或者DOM元素

          $('p').replaceWith("<strong>你最不喜欢的水果</strong>");

        7.2 replaceAll()方法

          改方法颠倒了replaceWith的操作

          $("<strong>你最不喜欢的水果</strong>").replaceAll("p");

      8. 包裹节点

        wrap()方法:将所有的元素用其他标记单独包裹起来。

        $("<strong>").wrap("<b></b>"); //用b标签将strong标签包裹起来。

        warpAll()方法:将所有的元素用其他标记全部包裹起来。

        warpInner()方法:将每一个匹配元素的子内容用其他标记包裹起来。

      9. 属性操作

        9.1 获取属性和设置属性:

          var $para=$('p');

          var p_txt=$para.attr("title");//获取<p>元素的title属性

          $('p').attr("title","your title"); //设置单个属性;

          $('p').attr({"title":"your title","name":"your name"}); //将一个”名/值”形式的对象设置为匹配元素的属性

        9.2 删除属性:removeAttr()方法

          $('p').removeAttr("title"); //删除<p>元素的属性title;

      10 样式操作

        10.1 获取样式和设置样式:

          var $p_class=$('p').attr("class"); //获取<p>元素的Class;

          $("p").attr("class","high"); //设置<p>元素的样式为"high",即替换已有的样式。

        10.2 追加样式

          $("p").addClass("high");  //给<p>元素追加样式"high”;

        10.3 移除样式

          $("p").removeClass("high"); //移除<p>元素的样式"high";

        10.4 切换样式,交替执行代码

          $("toggleBtn").toggle(function(){

          //code 显示元素

          },fucntion(){
          //code 隐藏元素

          })

         10.5 判断是否含有样式

         $("p").hasClass("high"); //判断<p>元素是否含有样式"high";

         这个方式是为了增强代码可读性而产生的,在jquery内部实际上是调用了is()方法来完成这个功能的。改方法等价于如下代码:

          $("p").is(".high"); //is(.+class)

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

        1. html()方法:读取或设置某个元素的HTML内容

          $("p").html(); //获取<p>元素的html代码

          $("p").html("<strong>你最喜欢的水果是?</strong>"); //设置<p>元素的html代码。

        2. text()方法:该方法类似与javascript中的innerText属性,用来设置或读取某个元素中的文本内容。

          $("p").text(); //获取<p>元素的文本内容;

          $("p).text("你最喜欢的水果是?"); //设置<p>元素的文本内容为“你最喜欢的水果是?”

        3. val()方法:该方法类似与javascript中的value属性,用于获取或设置某个元素的值。

          <input type="text" id="address" value="请输入邮箱地址">/

          $("#address").val(); //获取id=address文本框的值。

      12. 遍历节点:

        1. children()方法:该方法用于取得匹配元素的子元素集合,只考虑子元素,不考虑其他任何后代元素。

        2. next()方法:用于取得匹配元素后面紧邻的同辈元素。

        3. prev()方法:用于取得匹配元素前面紧邻的同辈元素。

        4. siblings()方法:用于取得匹配元素前后的同辈元素。

        5. closet()方法:用于取得最近的匹配元素

      13. CSS-DOM操作

        1. css()方法。

          $("p").css({"color":"red","width":"12px"}); //设置多个样式。

          $("p").css("color":"red"); //设置单个样式。

        2. offset()方法:获取当前元素在当前视窗的相对偏移,其中返回的对象包括两个属性,即top和left,它只对可见元素有效。

          var offset=$("p").offset();

          var left=offset.left;

          var top=offset.top;

        3. position()方法:获取元素相对于最近一个position样式属性设置为relative或者absolute的祖父节点的相对偏移量,也返回top和left属性。

        4. scrollTop()方法和scrollLeft()方法:这两个方法分别是获取元素的滚动条距顶端的距离和距左侧的距离

          

  • 相关阅读:
    Visual Studio 必备神器
    MVC中用Jpaginate分页 So easy!(兼容ie家族)
    仿花田:相亲网站 意中人 已在GitHub上开源
    仿花田:内部相亲网站 意中人(Asp.net MVC,Bootstrap2)
    Myeclipse最全快捷键
    SVG Viewer 3.0安装发现SVG Viewer License.txt无法介入写入,安装失败
    SVG报错error on line 39 at column 26: Namespace prefix xlink for href on script is not defined
    SVG可缩放矢量图形
    Google帮助IE浏览器实现对SVG支持
    JS代码判断IE6,IE7,IE8,IE9的函数代码
  • 原文地址:https://www.cnblogs.com/m199/p/3464505.html
Copyright © 2011-2022 走看看