三个方面 dom核心,html-dom和css-dom
一。
1.dom core核心
document.getElementsByTagName("form") 获取表单对象
element.getAttribute("src")
2.html_dom
document.forms
emement.src
但是只能用来处理web文档
3.css_dom
针对css的操作。
element.style.color="red"
二。jquery中的dom操作
(1)查找节点
1.元素节点
var $li=$("ul li:eq(1)");//获取ul里第2个li节点
var li_txt=$li.text();//获取文本内容
alert(li_txt);//打印文本内容
2.属性节点 attr()函数
$("p").attr("title");//p元素节点属性title
(2)创建节点
1.创建元素节点 经常需要动态创建html内容,使文档在浏览器里的呈现效果发生变化
步骤:第一步创建两个li新元素,第二步将这两个新元素插入文档中
$(html) 根据传入的html标记字符串,创建一个dom对象,并将这个dom对象包装秤一个jquery对象后返回。例子:var $li_1=$("<li></li>") 添加的方法使用jquery中的append()方法。
$("ul").append($li_1)
注意创建单个元素时,注意闭合标签可以使用$("<p/>")替代$("<p></p>")
2.创建文本节点
例子:var $li_1=$("<li>香蕉</li>")
无论代码多复杂都要使用相同的方式来创建
3.创建属性节点
例子:var $li_1=$("<li title='香蕉'>香蕉</li>");
(3)插入节点
append()
appendTo()追加到指定的元素中 和append相反
prepend()前置内容
prependTo()前置内容到指定的元素中
after()元素之后插入内容
insertAfter()插入到指定元素的后面
before()元素之前插入内容
insertBefore()插入指定元素的前面
以上不仅能将创建的元素插入到文档中,也能对原有的dom元素进行移动
(4)删除节点
1.remove()方法
$("ul li:eq(1)").remove();获取第2个li元素节点后,将它从网页中删除
当某个节点用remove()方法删除后,该节点所包含的所有后代节点将同时被删除。这个方法的返回值是一个纸箱已经被删除的节点的引用,因此可以再以后再使用这些元素。
例子:
var $li=$("ul li:eq(1)").remove();
$li.appendTo("ul");删除后再添加
appendTo()方法可以用来移动元素
例子:$("ul li:eq(1)").appendTo("ul")
先从文档衫删除此元素,然后再将该元素插入得到文档中的指定节点。
例子2:选择性的删除元素
$("ul li").remove("li[title!=菠萝]");
将li元素中属性title不等于菠萝的li元素删除
2.empty()方法
并非是删除节点,而是清空节点,他能清空元素中的所有后代节点
$("p").empty()获取p元素节点后,清空此元素里的内容.
(5)复制节点
常用的dom操作之一,例如购物车中添加商品就是复制dom节点。
clone()方法来完成复制节点
例子
$("p").click(function()){
$(this).clone().appendTo("ul");//复制当前单击的节点,并将它追加到ul元素中
}
clone(true) 复制元素的同时复制元素中所绑定的事件。
(6)替换节点
replaceWith()和replaceAll()
前者是将元素替换成指定的html或者dom元素
$("p").replaceWith("<strong>你最不喜欢的水果是?</strong>");
replaceAll()方法
$("<strong>你最不喜欢的水果是?</strong>").replaceAll("p");
(7)包裹节点
将某个节点用其他标记包裹起来,wrap()方法
$("strong").wrap("<b></b>");用b标签把strong元素包裹起来
得到的结果如下
<b><strong title="选择你最喜欢的水果">阿打算发斯蒂芬</strong></b>
1.wrapAll()方法
将所有匹配的元素用一个元素来包裹,不同于wrap()方法,后者是将所有的元素进行单独的包裹
$("strong").wrapAll("<b></b>")
<b>
<strong></strong>
<strong></strong>
</b>
2.wrapinner()方法
将每个匹配元素的子内容包括文本节点用其他结构化的标记包裹起来
$("strong").wrapInner("<b></b>");
代码如下
<strong title="选择你最喜欢的水果"><b>阿打算发斯蒂芬</b></strong>
(8)属性操作
1.获取属性和设置属性
$("p").attr("title") 获取p元素节点属性title
$("p").attr("title","your title");设置单个的属性值
$("p").attr({"title":"your title","name":"test"});设置多个属性。
2.删除属性
removeAttr()方法
$("p").removeAttr("title")
运行后p元素的title属性将删除
(9)样式操作
1.获取和设置样式
$("p").attr("class","high");
设置p元素的class为high 替换原有样式
2.追加样式
addClass()方法
$("p").addClass("another")
3.移除样式
removeClass();
4.切换样式
toggleClass()方法控制样式上的重复切换。
$("p").toggleClass("another");
5.判断是否会有某个样式
hasClass()用来判断元素中是否含有某个class,如果有则返回true,否则返回false
$("p").hasClass("another");等价于$("p").is(".another");
(10)设置和获取html,文本和值
1.html()方法
设置和获取某个元素中的html内容
2.text()方法
设置和获取某个元素中的文本内容
3.val()方法
设置和获取元素的值
<input type="text" id="address" value="请输入邮箱地址">
val()获得的是表单中的value的值
$(this).val()
focus()相当于javascript中的onfocus()方法
blur()相当于javascript中的onblur()方法
(11)遍历节点
1.children()方法
匹配元素的子元素集合 只考虑子元素 不考虑任何后代元素
2.next()方法
匹配元素后面紧邻的同辈元素
3.prev()方法
匹配元素前面紧邻的同辈元素
4.siblings()方法
匹配元素前后所有的同辈元素
5.closest()方法
最近的匹配元素 ,首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查 找父元素。逐级向上直到找到匹配选择器的元素。
除此之外还有很多遍历节点的方法:如find() filter() nextAll() prevAll()
parent() parents()
(12)css-dom操作
读取和设置style对象的各种属性。
例子:$("p").css("color");
与attr()方法一样,css()方法也可以同时设置多个样式属性
$("p").css({"fontSize":"30px","backgroundColor":"#888888"});
如果属性不带引号 需要驼峰式的写法
$("p").height(100);直接用height计算元素的高度 不带单位
width()
1.offset()方法 获取元素在当前视窗的相对偏移 只对可见元素有效
包含两个属性即top和left
$("p").offset().left;p元素的左偏移量
2.position()方法
获取相对于最近的一个position样式属性设置为relative或者absolute的祖父节点的相对偏移
,与offset()一样,返回top和left
3.scrollTop()方法和scrollLeft()方法
获取元素的滚动条距顶端和左侧的距离
- 第3章 jQuery的DOM操作
一. DOM 分为DOM核心,HTML-DOM和CSS-DOM 1.DOM核心 不专属与javascript. 获取对象:document.getElementsByTagName('div') 获 ...
- jQuery系列 第七章 jQuery框架DOM操作
第七章 jQuery框架的选择器 jQuery框架继承和优化了JavaScript访问DOM对象的特性,我们使用jQuery框架提供的api可以更加方便的操作DOM对象. 7.1 创建DOM节点 使用 ...
- JQuery第二天——JQuery的DOM操作
JQuery拥有隐式迭代和显式迭代 因为JQuery为类数组对象,可以使用手动遍历实现显式 .each():也可以使用 $("p").click(function(){ var t ...
- jQuery系列 第二章 jQuery框架使用准备
第二章 jQuery框架使用准备 2.1 jQuery框架和JavaScript加载模式对比 jQuery框架的加载模式 <script> window.onload = function ...
- jQuery的DOM操作详解
DOM(Document Object Model-文档对象模型):一种与浏览器, 平台, 语言无关的规则, 使用该接口可以轻松地访问页面中所有的标准组件DOM操作的分类 核心-DOM: DOM Co ...
- 解密jQuery内核 DOM操作
jQuery针对DOM操作的插入的方法有大概10种 append.prepend.before.after.replaceWith appendTo.prependTo.insertBefore.in ...
- js,jQuery和DOM操作的总结(二)
jQuery的基本操作 (1)遍历键值对和数组 , , , , , ]; $.map(arr, function (ele, index) { alert(ele + '===' + index); ...
- 03-老马jQuery教程-DOM操作
jQuery DOM操作 在没有jQuery之前,DOM的操作相对来说有点麻烦,尤其是DOM节点的搜索.目前我们已经学习了jQuery的选择器,接下带大家一块学习jQuery的DOM操作,jQuery ...
- jQuery – 3.JQuery的Dom操作
3.1 JQuery的Dom操作 1.使用html()方法读取或者设置元素的innerHTML 2.使用text()方法读取或者设置元素的innerText 3.使用attr() ...
随机推荐
- 对Yii 2.0模型rules的理解(load()无法正确装载数据)
在实际开发中,遇到数据表新增字段而忘记了在对应模型中rules规则中添加新增的字段,而导致load()方法装载不到新增字段,导致新增字段无法写入数据库中. 解决办法:在新增字段后及时在对应模型ru ...
- UIWebView全解
是iOS内置的浏览器控件,可以浏览网页.打开文档等 能够加载html/htm.pdf.docx.txt等格式的文件 系统自带的Safari浏览器就是通过UIWebView实现的 MIME的英文全称是“ ...
- 新萝卜家园GHOST WIN7系统32,64位官方版下载
来自系统妈:http://www.xitongma.com 新萝卜家园GHOST win7系统64位官方经典版 V2016年3月 系统概述 新萝卜家园ghost win7系统64位官方经典版加快“网上 ...
- 从PEP-8学习Python编码风格
(搬运自我在SegmentFault的博客) 关于空行 类与顶级函数(top-level function)的定义之间应当空两行. 类中的方法之间应当空一行. 方法中的逻辑部分之间可以空一行. 关于原 ...
- Java 守护线程(Daemon) 例子
当我们在Java中创建一个线程,缺省状态下它是一个User线程,如果该线程运行,JVM不会终结该程序.当一个线被标记为守护线程,JVM不会等待其结束,只要所有用户(User)线程都结束,JVM将终结程 ...
- Uva 10635 Prince and Princess (LCS变形LIS)
直接LCS是时间复杂度是O(p*q)的,但是序列元素各不相同,只要把其中一个序列映射成有序的, 另外一个序列再做相同的映射,没有的直接删掉,就变成了求另一个序列LIS. #include<bit ...
- HTML5新增的音频标签、视频标签
我们所说的H5就是我们所说的HTML5中新增的语言标准 一.音频标签 在HTML5当中有一个叫做audio的标签,可以直接引入一段音频资源放到我们的网页当中 格式: <audio autopla ...
- async/await的使用以及注意事项
使用 async / await, 搭配 promise, 可以通过编写形似同步的代码来处理异步流程, 提高代码的简洁性和可读性. 本文介绍 async / await 的基本用法和一些注意事项. a ...
- OC中的宏定义
我们都知道,宏定义是编译期常量.而OC是一种动态语言. 1.iOS系统版本判断的两个宏定义 __IPHONE_OS_VERSION_MAX_ALLOWED // iOS系统版本最大允许 __IPHON ...
- 函数的扩展——箭头函数this的使用
箭头函数中的this指向的是定义时的this,而不是执行时的的this . 举例: 案例中,我们的obj对象中有一个属性x和一个属性show( )方法,show( )通过this打印出x的值,结果是u ...