DOM:Document Object Model的缩写,中文是文档对象模型,根据W3C DOM规范(htttp://www.w3.org/DOM ),它是一种与浏览器、平台、语言无关的接口,该接口可以轻松的访问页面中所有的标准组件。DOM解决了Netscape的JavaScript和Microsoft 的JavaScript之间的冲突,给予了web设计师和开发者一套标准的方法,让他们能够轻松获取和操作网页中的数据,脚本和表现层对象。

DOM操作的分类

三大类:DOM Core;HTML-DOM;CSS-DOM;
DOM Core
DOM Core 并不专属于JavaScript,任何一种支持DOM的程序语言设计都可以使用它。它的作用并不仅仅限于处理网页,也可以用来处理任何一种使用标记语言编写出来的文档(XML)。
javaScript中的getElementById(),getElementByTagName(),getAttribute()和getAttribute(),等方法都是DOM Core的组成部分。
HTML-DOM
在使用JavaScript和DOM 为HTML文件编写脚本时,有许多专属于HTML-DOM的属性。HTML-DOM的出现甚至比DOM Core 还要早,他提供了一些更简明的记号来描述各种HTML元素的属性。
CSS-DOM
操作CSS样式的专属,在JavaScript中,CSS-DOM技术的主要作用是获取和设置style对象的各种属性。(element.style.arrt=”value”)

DOM操作的内容

1.查找节点(两类)
2.创建节点(三类)
3.插入节点or移动节点(两大类四小类八种方法)
4.删除节点(两类)
5.清空节点(一个方法)
6.复制节点(一个方法)
7.替换节点(两个方法)
8.包裹节点(三个方法)
9.属性操作(两类)
10.样式操作(四类)
11.设置/获取HTML文本和值(三个方法)
12.遍历节点(五个方法)
13.CSS-DOM操作(五个方法)

如果能够根据提示想出个大概到此就可以结束了,请耐性的记忆,加油!

tip1:JQuery1.6版本新增属性操作 prop() 和 removeprop();
tip2:JQuery中很多方法都是同一个函数实现获取getter和setter的,arrt(),html(),height(),width(),val(),css()等
tip3:遍历节点的其他方法:find(),filter(),nextAll(),prevAll()等。
tip4:遍历节点的方法都有一个共同点:都可以使用JQuery表达式作为参数来筛选元素
tip5:val()方法的使用:1获取,设置元素的值;2:使select,checkbox,radio相应的选项被选中,常用于表单操作。
tip6:css设置透明度方式:$(“p”).css(“opacity”,”0.5”);
tip7:css(“height”)与height()的区别:css方法获取的高度值与样式有关,可能为auto,或者带单位的数字,height()获取的是元素在页面中的实际高度,与样式无关,不带单位
tip8:parent()、parents()、closest() 之间的区别
parent():获取集合中每个匹配元素的父级元素,返回一个元素节点
parents:获得集合中每个匹配元素的祖先元素,找到第一个父节点并没有停止,而是继续查找,返回多个父节点。
closest():从元素本身开始,逐级向上级元素匹配,并返回最先匹配到的祖先元素,只返回匹配的第一个元素节点。

——————————————-华丽的分隔符————————————————–

DOM操作详解

代码通用此HTML
<!--HTML代码--><p title="选择你最喜欢的水果." >你最喜欢的水果是?</p><ul><li title='苹果'>苹果</li><li title='橘子'>橘子</li><li title='菠萝'>菠萝</li></ul>

1.查找节点
查找元素节点:利用JQuery选择器进行查找元素
查找属性节点:利用attr()方法获取各个属性值

2.创建节点
创建元素节点 ,创建文本节点,创建属性节点

3.插入节点
两大类:内部追加和同辈追加
四小类: 内部追加,内部前置,同辈追加,同辈前置
八个方法:append() 和appendTo();prepend()和prependTo();after()和insertAfter();before()和insertBefore()

    var $li_1 = $("<li title='香蕉'>香蕉</li>");    //  创建第一个<li>元素var $li_2 = $("<li title='雪梨'>雪梨</li>");    //  创建第二个<li>元素var $li_3 = $("<li title='其它'>其它</li>");    //  创建第三个<li>元素var $parent = $("ul");                 // 获取<ul>节点,即<li>的父节点var $two_li = $("ul li:eq(1)");       //  获取<ul>节点中第二个<li>元素节点$parent.append($li_1);      //  append方法将创建的第一个<li>元素添加到父元素的最后面$parent.prepend($li_2);      //  prepend方法将创建的第二个<li>元素添加到父元素里的最前面$li_3.insertAfter($two_li);   //  insertAfter方法将创建的第三个<li>元素元素插入到获取的<li>之后

4.删除节点
remove():可以传参,用于根据JQ表达式来筛选元素,后代同时删除,数据不被保存,有返回对象
detach():”去掉”所有匹配元素,绑定的事件、数据会被保留,有返回对象

     $("ul li").remove("li[title!=菠萝]");  //把<li>元素中属性title不等于"菠萝"的<li>元素删除 var $li = $("ul li:eq(1)").remove(); // 获取第二个<li>元素节点后,将它从网页中删除。$li.appendTo("ul");                     // 把刚才删除的又重新添加到<ul>元素里var $li = $("ul li:eq(1)").detach(); // 获取第二个<li>元素节点后,将它从网页中删除。$li.appendTo("ul");

5.清空节点
empty():清空匹配元素的所有后代节点,不清空本身

    $("ul li:eq(1)").empty(); // 找到第二个<li>元素节点后,清空此元素里的内容

6.复制节点
clone():可以传参(true/false) true代表复制节点时,复制绑定的事件。

    $("ul li").click(function(){$(this).clone().appendTo("ul"); // 复制当前点击的节点,并将它追加到<ul>元素$(this).clone(true).appendTo("ul"); // 注意参数true 可以复制自己})

7.替换节点
replace()和replaceAll() 替换节点时,事件会消失,需要替换后进行重新绑定。

    $(function(){$("p").replaceWith("<strong>你最不喜欢的水果是?</strong>"); // 同样的实现: $("<strong>你最不喜欢的水果是?</strong>").replaceAll("p"); });

8.包裹节点
warp() :用于在文档中需要插入额外的结构化标记
warpAll():将所有匹配到的元素用同一个元素包裹,含有其他元素时,会将此元素放置在包裹元素之后
warpInner():匹配元素的子内容,用其他结构化标记包裹

      $("p").wrap("<b></b>");//用<b>元素把<p>元素包裹起来  换不同的方法,在浏览器F12看效果

9.属性操作
获取属性和设置属性:att() 传递参数进行获取和设置
删除属性:removeAttr() 传递属性名

        $("p").attr("title","选择你最喜欢的水果.");   //设置<p>元素的属性'title'$("p").attr({"title":"test","name":"test"}); //多属性设置alert( $("p").attr("title") );         //获取<p>元素的属性'title'$("p").removeAttr("title");           //删除<p>元素的属性'title'

10.样式操作
在html中,样式一般利用属性class引入。
获取样式和设置样式:addClass() 和att()     追加样式类和替换样式类
移除样式:removeClass()     带参数移除指定的类
切换样式:toggleClass()     带参数
判断某个样式是否存在:hasClass()     带参 有返回值,

$("p").attr("class")   //获取样式的名称
$("p").attr("class","high");       //替换样式为high的样式类
$("p").addClass("another");        //在原样式上追加新的样式类,
$("p").removeClass();          //移除全部样式类
$("p").removeClass("high");        //移除指定样式类
$("p").toggleClass("another"); //在原样式和此样式切换
$("p").hasClass("another");        //判断元素是否含有某样式
$("p").is(".another");         //判断元素是否含有某样式

11.设置/获取HTML文本和值
html()方法:innerHTML属性,读取设置元素HTML内容
text()方法:innerText属性,读取设置文本内容
val()方法:value属性,操作含有value属性的元素[文本框,下拉列表,单选框,元素多选] 返回数组类型

     $("p").html();     //不带参数为获取对应的值$("p").text();$("input").val();$("p").html("<strong>你最喜欢的水果是?</strong>");   //带参数是设置对应的值$("p").text("你最喜欢的水果是?");$("input").val("我被改变了");

12.遍历节点
children():匹配元素的子元素集合,不考虑其他后代
next():匹配元素后面紧邻的同辈元素
prev():匹配元素前面紧邻的同辈元素
siblings():匹配元素前后所有的同辈元素
closest():向上匹配最近的元素,包括自己,没有查询到时,返回JQuery空对象。

var $ul = $("ul").children();    // ul的子元素的集合$p1 = $("p").next();     //  紧邻<p>元素后的同辈元素$ul = $("ul").prev();                // 紧邻<ul>元素前的同辈元素$p2 = $("p").siblings();         //  紧邻<p>元素的所有同辈元素$(document).bind("click", function (e) {$(e.target).closest("li").css("color","red"); //向上匹配最近的li元素

13.CSS-DOM操作
操作元素样式:css()方法
操作元素定位:offset():获取元素在当前视窗的相对偏移量,返回值包括top和left,只对可见元素有效。
position():获取元素相对于最近的一个position样式属性设置为relative或者absolute的祖父节点的相对偏移,返回值同上。
scrollTop():获取元素的滚动条距顶端的距离,可以指定参数,控制元素的滚动条滚动到指定的位置。
scrollLeft():获取元素的滚动条距左侧的距离,可以指定参数,控制元素的滚动条滚动到指定的位置。

$("p").css("color")        //获取p元素的color属性值
$("p").css("color","red")    //设置<p>元素的color$("p").css({"fontSize":"30px" ,"backgroundColor":"#888888"})   //多样式设置var offset = $("p").offset();          //获取<p>元素的的左边距和上边距var left = offset.left;var top =  offset.top;alert("left:"+left+";top:"+top);

jQuery基础二DOM操作相关推荐

  1. Jquery基础之DOM操作

    Jquery基础之DOM操作 Dom是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DO ...

  2. jQuery 基础教程 (四)之jQuery中的DOM操作

    一.jQuery 中的 DOM 操作 (1)DOM(Document Object Model-文档对象模型):一 种与浏览器, 平台, 语言无关的接口, 使用该接口可以 轻松地访问页面中所有的标准组 ...

  3. 三、jQuery 中的 DOM 操作(超详细)

    文章目录 前言 一. DOM 介绍 二. 查找节点 2.1查找元素节点 2.2查找属性节点 三. 创建节点 3.1.创建元素节点 3.2.创建文本节点 3.3.创建属性节点 四.插入节点 4.1 DO ...

  4. jQuery 学习笔记一(认识jQuery jQuery选择器 jQuery中的DOM操作)

    第一章 认识jQuery jQuery代码风格 $(document).ready(function(){ //... }); 简化 $(function(){ //... }); jQuery对象转 ...

  5. 原生js和jquery常用的DOM操作

    前言 将原生JS和jquery里面的DOM操作进行了一下整理,方便以后温习. 创建元素节点 1.原生: document.createElement("div") 2.jquery ...

  6. jQuery库的简单使用:jQuery中的 DOM 操作,增删改查,复制,替换,包裹,属性和样式操作

    jQuery中的 DOM 操作 查 查找属性节点: 通过 jQuery 选择器完成. 操作属性节点: 查找到所需要的元素之后, 可以调用 jQuery 对象的 attr() 方法来获取它的各种属性值 ...

  7. JavaScript程序库jQuery学习笔记分享(二)jQuery对象和DOM操作,和其他js库冲突处理

    今天我继续更新jQuery学习笔记,最近考试比较忙,也就更新的比较慢了,这里向大家说一声抱歉,嘻嘻. 让那不愉快的情绪过去吧,继续进行我们的jQuery之旅吧. 一:jQuery对象和DOM对象 1. ...

  8. 【总结整理】JQuery基础学习---DOM篇

    前言: 先介绍下需要用到的浏览器提供的一些原生的方法(这里不处理低版本的IE兼容问题) 创建流程比较简单,大体如下: 创建节点(常见的:元素.属性和文本) 添加节点的一些属性 加入到文档中 流程中涉及 ...

  9. 第三章(jQuery中的DOM操作)

    3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...

最新文章

  1. 深入理解GBDT多分类算法
  2. CSS3的边框(border)属性-radius
  3. 【转】深入了解CPU两大架构ARM与X86
  4. 111 第一章操作系统概述总结思维导图+错题整理
  5. Kafka监控架构设计
  6. OpenCV掩码、blending、改变对比度和亮度、随机发生器和绘图
  7. 关于服务器发生w32tm的ID:29,ID:47等错误
  8. JumpServer1.5.8堡垒机专题课--prometheus监控主机和MySQL
  9. 关键字 标识符 数据类型
  10. 今天遇到了一个很坑爹的问题....
  11. OpenCV4每日一练day14:光流法跟踪移动物体
  12. POJ3126 Prime Path(BFS)
  13. python开发软件的实例-Python 开发工具和框架安装实例步骤
  14. delphi常用函数大全(转)
  15. 利用Druid Monitor做数据库连接异常排查
  16. KEPServerEX 6.7.1046.0 新版本功能大全
  17. 双十一苏宁“狮晚”PK天猫“猫晚”,玩的是娱乐,赢的是流量
  18. 老外眼里的中式英语PK标准英语
  19. BTT、BZZ、IPFS都是分布式存储那到底有何区别?一文读懂
  20. 汉威危化品安全风险监测预警平台 助力企业摆脱新旧领域风险

热门文章

  1. 关于怎么用MHDD修复硬盘坏道!
  2. 如何重现难以重现的bug
  3. 把一个字符串的首字母转成大写其余为小写
  4. 仙剑奇侠传4狐仙打法
  5. 【零基础入门学习Python】入门:我和Python的第一次亲密接触
  6. 多少鸿蒙冰心换无间,现阶段法宝及相关道具获取途径汇总
  7. 微信开发者工具 网络连接失败
  8. 如何认识那些从硅谷文化中淘金的公司们
  9. Android利用universal-image-loader异步加载大量图片完整示例
  10. echarts 极坐标系下的堆叠柱状图 上下距离及大小跳转方案