打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
jQuery DOM操作

DOM操作的分类

DOM CORE(核心)、HTML-DOMCSS-DOM 
1. DOM Core 
DOM Core并不专属于javascript,任何一种支持DOM的程序设计语言都可以使用它。 
它的用途并非仅限于处理网页,也可以用来处理任何一种使用标记语言编写出来的文档,如XML. 
Javascript中的getElementById(),getElementByTagName(),getAttribute()setAttribute()方法,都是dom core的组成部分。 
2. HTML_DOM 
使用HTML_DOM来获取表单对象的方法 
Document.forms 
使用HTML_DOM来获取某元素的src属性的方法 
Element.src 
3. CSS_DOM 
CSS_DOM是针对CSS的操作。在javascript中,CSS-DOM技术的主要作用是获取和设置style对象的各个属性。通过改变style对象的各种属性,可以使网页呈现出各种不同的效果。
Element.style.color = red 

jQuery作为javascript库,继承并发扬了javascriptDOM对象的操作的特性,使开发人员能方便的操作DOM对象。

元素的操作可以按下列来分类:查找、创建、插入、删除、复制、包裹、属性操作、

查找:利用上面的jQuery选择器

创建:主要包括创建元素节点和创建文本节点、创建属性节点。

(1)创建元素节点 $(html)

Var aa=$("<li></li>");

2)创建文本节点 Var aa=$("<li>你好</li>");

3)创建属性节点  Var aa=$("<li title='bbb'>你好</li>");

插入:光动态的创建节点没上面用处,还要能够将创建的动态插入。


删除:

1empty():删除匹配的元素集合中所有的子节点

2remove([expr]):从DOM中删除所有匹配的元素。

3detach([expr]):从DOM中删除所有匹配的元素。

复制:

1clone():克隆匹配的DOM元素并且选中这些克隆的副本。

2clone(true):元素以及其所有的事件处理并且选中这些克隆的副本

替换:

1replaceWith(content):将所有匹配的元素替换成指定的HTMLDOM元素。

2replaceAll(selector):用匹配的元素替换掉所有 selector匹配到的元素。

包裹:


属性操作:


样式操作:


判断是否有某个样式:hasClass("className");;内部实际上调用的是is方法

设置和获取HTML、文本和值


CSS-DOM操作:读取和设置style对象的各种属性。


案例:超链接提示效果和网页提示效果

1.超链接:自带了提示,加入title属性,不过这个提示太慢,为了良好的人机交互,应该在一上去的一瞬间就出现提示

① 当鼠标滑入超链接

② 创建一个div元素

③ 将创建的元素追加到文档中

④ 为它设置xy坐标,使得它显示在鼠标位置旁边

⑤ 当鼠标划出时,移除div

$(function(){

$("a.tooltip").mouseover(function(e){

    var tooltip = "<div id='tooltip'>"+ this.title +"<\/div>"; //创建 div 元素

$("body").append(tooltip); //把它追加到文档中

$("#tooltip")

.css({

"top": e.pageY + "px",

"left": e.pageX  + "px"

}).show("fast");   //设置x坐标和y坐标,并且显示

    }).mouseout(function(){

$("#tooltip").remove();   //移除 

    });

});

问题1title属性提示也会出现;xy坐标设置问题,距离太近

⑥ 当鼠标滑入时,给对象一个新属性,比如myTitle,并它title传给它,然后清除title属性

⑦ 当鼠标划出时,再把对象的myTitle属性的值又赋给属性title

this.myTitle = this.title;

this.title = "";

    var tooltip = "<div id='tooltip'>"+ this.myTitle +"<\/div>"; //创建 div 元素

⑧ 重新设置xy,为top10,为left20

var x = 10;  

var y = 20;

$("#tooltip")

.css({

"top": (e.pageY+y) + "px",

"left": (e.pageX+x)  + "px"

}).show("fast");   //设置x坐标和y坐标,并且显示

⑨ 鼠标移动时,提示不会跟着鼠标移动。需要加上一个mouseover事件

.mousemove(function(e){

$("#tooltip")

.css({

"top": (e.pageY+y) + "px",

"left": (e.pageX+x)  + "px"

});

});

2.图片提示效果

参考上面,就可以出现图片提示:

$(function(){

var x = 10;

var y = 20;

$("a.tooltip").mouseover(function(e){

this.myTitle = this.title;

this.title = "";

var tooltip = "<div id='tooltip'><img src='"+ this.href +"' alt='产品预览图'/><\/div>"; //创建 div 元素

$("body").append(tooltip); //把它追加到文档中  

$("#tooltip")

.css({

"top": (e.pageY+y) + "px",

"left":  (e.pageX+x)  + "px"

}).show("fast");   //设置x坐标和y坐标,并且显示

    }).mouseout(function(){

this.title = this.myTitle;

$("#tooltip").remove();  //移除 

    }).mousemove(function(e){

$("#tooltip")

.css({

"top": (e.pageY+y) + "px",

"left":  (e.pageX+x)  + "px"

});

});

})

为了更加人性化,显示图片的时候,还要根据title属性来获取图片相应的介绍文字:,然后将它追加到div元素中,

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
前端开发面试题 | 菜鸟教程
2014年最新前端开发面试题(面霸题库)
jQuery VS JavaScript原生API | 晚晴幽草軒
JQuery方法查询
前端基础面试题(JS部分)
Jumony logoHTML分析处理引擎 Jumony c#的html解析类似jquery
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服