dom core,html dom,css dom,jquery 中的dom操作
前端开发中为达到某种目的,往往有很多方法:dom core,html dom,jquery; dom core/jquery主要通过函数调用的方式(getAttribute("属性名")/attr("属性名"))获取属性值, html dom一般利用属性的形式(element.属性名)获取对应属性值,形式相对简洁。此外,针对于css相关的对象,还有css dom
前端开发中的节点有三种:元素节点;文本节点和属性节点
js一般对于dom core和html dom都支持;html dom仅适用于html这类特殊的xml文档,dom core则对于任何xml文档都适用。
从性能方面考虑
1,尽量使用js原生方法
2,dom core, html dom 优先于 jquery
3,css相关的get和set操作,尽量采用css dom 如 element.style.color="#fffffff";
js原生方法性能高于jquery中的方法,因此,在可能条件下,尽量使用jquery原生方法
this.value /this.getAttribute("value") 取代$(this).val()
this.checked/this.getAttribute("checked")取代$(this).attr("checked",true)/$(this).prop("checked",true)
jquery中的dom操作
1,节点查找
元素节点查找:利用选择器
文本节点查找:使用对应元素的text()函数调用
属性节点查找:jquery使用attr("属性名"),html dom采用.属性名的方法, dom core采用getAttribute("属性名")
2,节点创建
无论哪种节点,只是使用一段html代码
$nodeName=$("html代码")即可
3,节点插入
append();appendTo()(可以用于元素移动);prepend();以上方法,新加入的元素成为原来元素的子元素
insertAfter();insertBefore();以上方法,新加入的元素成为原来元素的同辈元素
4,节点删除
remove():所有绑定的事件,数据等都会删除
detach():绑定的事件,数据被保留
empty();非删除元素,而是元素内容清空
5,节点复制
clone();复制元素,不复制绑定事件
clone(true):复制元素,同时复制原来元素上绑定的事件
6,节点替换
replaceWith(),replaceAll()二者互为逆操作
7,节点包裹
wrap();wrapAll();wrapInner();
8,属性操作(获取,设置,删除)
dom core中getAttribute,setAttribute,removeAttribute
html core对于特定属性,有.src, .checked, .seleced,.value等简洁写法
jquery中 attr("属性名"),attr("属性名",属性值),removeAttr()
9,类操作
element.attr("class");$element.addClass();$element.removeClass();$element.hasClass();
10,状态判断
element.is("selector"),如is(:visible);is(".className")等
11,获取节点html,文本和值
element.html()类似于js中的element.innerHTML
element.text()类似于js中的element.innerTEXT
element.val()类似于js中的element.value
12,样式操作
css dom :element.style.样式名=样式值
jquery中的样式操作
element.css()
element.css("background":"#fff","width":"400px")
13,位置操作
js中获取元素位置
element.offsetTop,element.offsetLeft;
这两个属性所储存的数值并不是该元素相对整个浏览器画布的绝对位置,而是相对于其最近一个样式属性为absolute或者relative的父元素位置的相对位置,也就是说这两个数值得到的是以其 父元素左上角为(0,0)点从而计算出的数值。
jquery中获取元素位置
1)获取相对于其最近一个样式属性为absolute或者relative的父元素位置的相对位置
var position=element.position();
var left=position.left;
var top=position.top;
2)获取相对于当前视窗的位置
var offset=element.offset();
var left=offset.position;
var top=offset.position;
3)获取相对于滚动条顶部和左端的位置
scrollTop(),scrollLeft();
4)获取事件发生位置
function(e){
var x=e.pageX;
var y=e.pageY;
}
dom core,html dom,css dom,jquery 中的dom操作的更多相关文章
- jQuery中的DOM操作总结
jQuery中的DOM操作 DOM是Document Object Medel的缩写,它的意思是文档对象模型,根据W3C的官方说法,DOM是一种跟浏览器,平台以及语言都没有关系的一种规范,也就是一种接 ...
- 锋利的jQuery ——jQuery中的DOM操作(三)
一.DOM的操作分类 1>DOM Core 2>HTML-DOM 3>CSS-DOM 二.jQuery中的DOM操作 DOM树 ①查找节点 1)查找元素节点 利用jQuery ...
- Jquery:jquery中的DOM操作<一>
之前两天学习了Jquery强大的选择器,今天学习了一部分Jquery对DOM的操作,下面我将把自己今天的成果分享给大家,那些菜鸟们,你们是否需要巩固之前所学? 首先需要知道,DOM操作分为3个方面:D ...
- jQuery中的DOM操作《思维导图》
首先,是关于jQuery中的DOM操作的<思维导图>,请点击这里:jQuery中的DOM操作 列表框的左右选项移动 <html> <head> <title& ...
- jQuery中的DOM操作<思维导图>
DOM是Document Object Model的缩写,意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口.使用该接口可以轻松地访问页面中所有的标准组件.简单来说,DOM解决了Netsc ...
- JavaWeb学习笔记——jquery中的dom操作
jquery中的dom操作 废话不说:直接上例子: 1.添加节点-html页面 Append:向每个匹配的元素内部追加内容. <body> <ul id="city& ...
- jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作
查看本章节 查看作业目录 需求说明: 在 jQuery 中使用 DOM 操作节点,对页面中的表格实现增.删.查.改操作 点击"增加"超链接时,将表格中的第一条数据添加到表格的末尾 ...
- 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...
- jquery中链式操作的this指向
jquery中链式操作是如何实现? 例如:$(obj).children().css('color','red').next().css('color','red').siblings().css(' ...
随机推荐
- iOS textFiled 在storyBoard中的使用
step 1. 在UITableViewCotroller的xib中设置一个静态表格,在Utilities里选择属性检查器(第四个啦)设置属性,content : static cells. styl ...
- ScrollFix.js:一个 iOS5 溢出滚动的(有限)修复方案
Update: Unfortunately this does not 100% solve the problem, the script falls down when handling touc ...
- etcd学习记录
参考资料: etcd:从应用场景到实现原理的全方位解读 etcd:用于服务发现的键值存储系统 Etcd学习(一)安装和.NET客户端测试 Etcd学习(二)集群搭建Clustering
- java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntim [问题点数:40分,结帖人wangxiaohua_001]
14:56:10.093 WARN!! Error for /butterfly/plugins/zhonghang/UsefulData/save_usefuldata.bshjava.lang.N ...
- hrbust oj 1526+2028 树状数组
冒泡排序中 如果一个数的后面的某个数和这个数不符合排序规则 那么这个数就会在未来的某次冒泡中与那个数进行交换 这里用到了 树状数组求逆序数的办法来做 需要注意的是2028并不可以改完数组大小后直接套1 ...
- PHP 命名空间总结
PHP 5.3 及以上版本中引入了命名空间 的概念. notes: 1. 在 PHP 中,命名空间用来解决在编写 类库 或 应用程序 时创建 可重用 的 代码如 类 或 函数 时碰到的两类问题: ① ...
- dp和px的转换
/** * dp转px * @param context * @param dp * @return */ public static int dp2px(Context context, float ...
- PHP CURL 多线程 GET/POST 类
PHP CURL 多线程 GET/POST 类 2015-01-01 分类:技术文章 阅读(623) 评论(0) 如果有需要更正或更高效的建议,欢迎在OSchina分享~\(≧▽≦)/~ http:/ ...
- C++ 构造函数放置默认转换explicit关键字(2)
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class String { String ( const char* p ); ...
- NSQ部署
一. 简介 NSQ主要有三个主要程序和一个Web服务程序: nsqd:是守护进程,接收,缓存,并投递消息给客户端 nsqlookupd:是一个守护进程,为消费者提供运行时发现服务,来查找指定 ...