jQuery~DOM基础操作
操作DOM
1.什么是DOM:document object model文档对象模型
2.树形结构
3.什么是节点(node):DOM结构中最小单位,元素、文本、属性。。。
创建节点
var $div = $("<div title='div盒子'>我是DOM</div>")
$("body").append($div);
1。插入
var str = $("<a href='#'>123</a>");
str.appendTo($("div"));
("A").append("B")等效("B").appendTo("A")
a.内容插入:(子集)
append():向元素内容增加内容(末尾)
append():向元素内部增加内容(末尾)
appendTo():将要增加的内容增加到元素中
prepend():向元素内部增加内容(前置)
$("div").prepend(str);
prependTo():将要增加的内容增加到元素中
str.prependTo($("div"));
("A").prepend("B")等效("B").prependTo("A")
b.外部插入:(同级)
after():在元素后面插入内容
$("div").after(str);
insertAfter():在内容插入元素后面
str.insertAfter($("div"));
A.after(B)等效于B.insertAfter(A);
before():在元素前面插入内容
$("div").before(str);
insertBefore():将内容插入元素前面
str.insertBefore($("div"));
A.before(B)等效于B.insertBefore(A);
2删除
a.删除
remove():删除匹配元素
$("div").remove();
$("div").remove(":eq(0)");
b.清空
empty():清空子节点内容
$("div").empty();//不支持参数
3.克隆:创建指定节点的副本
clone()
<b>b</b>
<p>p</p>
<script>
$("b").clone().prependTo("p");
//将b拷贝出来放到p内部前面
//或
$("b").click(function(){
// 在clone方法参数中输入 false | true
$(this).clone().insertAfter(this);
});
</script>
默认为假,假表示不复制;真true:表示复制事件
4.替换:
replaceWith():
<b>0</b>
<b>1</b>
<b>2</b>
<script>
// i标签不存在,则直接把b下标1的元素替换掉
$("b:eq(1)").replaceWith("<i>x</i>");
// 下标0存在,和下标2替换,相当于2删掉,0移到2的位置
$("b:eq(2)").replaceWith($("b:eq(0)"))
</script>
replaceAll():用来匹配元素替换成指定元素
//"<i>x</i>".replaceAll("b");这种jq方法必须在jq对象下使用。
$("<i>x</i>").replaceAll("b");
a.replaceWith(b) 等效于 b.replaceAll(a);
动画
JavaScript语言本身不支持动画设计,必须通过改变CSS来实现动画效果。
1.显隐动画
原理:
hide()隐藏。通过改变元素的高度宽度和不透明度,直到这三个属性值到0
show()显示。从上到下增加元素的高度,从透明度左到右增加元素的宽度,从0到1增加透明度,直至内容完全可见
参数:
show()
show(speed,callback)
speed:字符串或数字,表示动画将运行多久(slow=0.6秒/normal=0.4/fast=0.2)//单位是毫秒
callback:动画完成时执行的方法(回调函数)
显示和隐藏是一对密不可分的动画形式。
2.显隐切换
toggle():切换元素的可见状态
原理:匹配元素的高度、高度以及不透明度,同时进行动画,隐藏动画后将display设置为none
参数:
toggle(speed,callback);
toggle(boolean)
boolean:true为显示false为隐藏
<style>
*{padding:0;margin:0;}
div{ width:300px; height:300px; background:skyblue;}
</style>
<input type="button" value="show" />
<input type="button" value="hide" />
<input type="button" value="toggle" />
<div></div>
<script src="../jquery‐1.11.3.js"></script>
<script>
$(function(){
$("input:eq(0)").click(function(){
$("div").show(3000, function(){alert()});
});
$("input:eq(1)").click(function(){
$("div").hide(3000);
});
$("input:eq(2)").click(function(){
$("div").toggle(3000);
});
});
</script>
滑动
1.显隐滑动效果
slideDown():滑动显示
slideUp():滑动隐藏
参数:
slideDown(speed,callback)
slideUp(speed,callback)
2.显隐切换滑动
slideToggle():显隐滑动切换
参数:
slidecToggle(speed, callback)
<style>
*{padding:0;margin:0;}
div{ width:300px; height:300px; background:skyblue;}
</style>
<input type="button" value="slideDown" />
<input type="button" value="slideUp" />
<input type="button" value="slideToggle" />
<div></div>
<script>
$(function(){
$("input:eq(0)").click(function(){
$("div").slideDown(1500, function(){alert()});
});
$("input:eq(1)").click(function(){
$("div").slideUp(1500);
});
$("input:eq(2)").click(function(){
$("div").slideToggle(1500);
});
});
</script>
渐变:通过改变不透明度
1. 淡入淡出
fadeIn()
fadeOut()
参数:
fadeIn(speed, callback)
fadeOut(speed, callback)
2. 设置淡出透明效果
fadeTo() :以渐进的方式调整到指定透明度
参数:
fadeTo(speed, opacity, callback)
3.渐变切换:结合fadeIn和fadeOut
fadeToggle()
参数:
fadeOut(speed, callback)
<style>
*{padding:0;margin:0;}
div{ width:300px; height:300px; background:skyblue;}
</style>
<input type="button" value="fadeIn" />
<input type="button" value="fadeOut" />
<input type="button" value="fadeToggle" />
<input type="button" value="fadeTo" />
<div></div>
<script>
$(function(){
$("input:eq(0)").click(function(){
$("div").fadeIn(1500, function(){alert()});
});
$("input:eq(1)").click(function(){
$("div").fadeOut(1500);
});
$("input:eq(2)").click(function(){
$("div").fadeToggle(1500);
});
$("input:eq(3)").click(function(){
$("div").fadeTo(1500, 0.5);
});
});
</script>
自定义:
1. 自定义动画:animate()
$("input:eq(0)").click(function(){
$("div").animate({
width:400,
height:200,
borderLeftWidth:10,
borderBottomLeftRadius:250
}, 1500, function(){alert('该动画效果1500毫秒执行完毕')});
});
jQuery~DOM基础操作的更多相关文章
- jQuery DOM基础
jQuery DOM基础 1.对元素内容的获取和修改: 表单用value(),普通元素用html()和text(). html() html(value)设置和获取html内容,有html标签会自动 ...
- 深度解析JQuery Dom元素操作技巧
深度解析JQuery Dom元素操作技巧 DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件,这篇文章给大家介绍了JQuery dom元素操作方法,写的十分的全面细 ...
- JavaScript DOM 基础操作
JavaScript DOM 基础操作 一.获取元素的六方式 document.getElementById('id名称') //根据id名称获取 document.getElementsByclas ...
- jQuery自学笔记(四):jQuery DOM节点操作
获得和设置内容:text( ).html( ) 以及 val( ) text( ) - 设置或返回所选元素的文本内容 html( ) - 设置或返回所选元素的内容(包括 HTML 标记) val( ) ...
- JavaScript学习 - 基础(六) - DOM基础操作
DOM: DOM定义了访问HTML 和XML 文档的标准:1.核心DOM 针对结构化文档的标准模型2.XMK DOM 针对XML文档的标准模型3.HTML DOM 针对HTML文档的标准模型 DOM节 ...
- javascript DOM基础操作
DOM(Document Object Model)即文档对象模型,针对HTML和XML文档的API(应用程序接口).DOM描绘了一个层次化的节点树,运行开发人员添加.移除和修改页面的某一部分.DOM ...
- DOM基础操作实战代码
对于已经讲解给大家的DOM实战,我今天给大家几个实战代码,可以让大家加深对此的理解! 1.用DOM动态生成这样一个结构: <div class=”example”> <p class ...
- DOM基础操作(三)
DOM剩余的两个操作一并带来! 1.删除操作 removeChild 这个方法依然是父级调用的,参数就是要删除的子节点,其实实际上是剪切,这个方法会把我们删除掉的元素给返回,我们可以用一个变量去保存这 ...
- DOM基础操作(二)
插入操作 1.appendChild(child); 这个是父级调用的方法,它会将child元素插入到父级里面,而且是放到逻辑后面的位置上. div.appendChild(comment); ...
随机推荐
- 基于TP5使用Websocket框架之GatewayWorker开发电商平台买家与卖家实时通讯
https://www.cnblogs.com/wt645631686/p/7366924.html 前段时间公司提了一个新的需求,在商品的详情页要实现站内买家和商品卖家实时通讯的功能以方便沟通促成交 ...
- WorldWind源码剖析系列:星球类World
星球类World代表通用的星球类,因为可能需要绘制除地球之外的其它星球,如月球.火星等.该类的类图如下. 需要说明的是,在WorldWind中星球球体的渲染和经纬网格的渲染时分别绘制的.经纬网格的渲染 ...
- OpenCV——阈值化
上述五种结合CV_THRESH_OTSU(自适应阈值),写成:THRESH_BINARY | CV_THRESH_OTSU
- linux固定ip地址
最近自己搭jenkins发现ifconfig出来ip老是变来变去决定固定服务ip,原来配置: [root@bogon bin]# cat /etc/sysconfig/network-scripts/ ...
- 重写Override和重加载Overload
1.方法的重写规则 参数列表必须完全与被重写方法的相同: 返回类型必须完全与被重写方法的返回类型相同: 访问权限不能比父类中被重写的方法的访问权限更低.例如:如果父类的一个方法被声明为public,那 ...
- 微信小程序开发 [03] 事件、数据绑定和传递
1.事件绑定 在微信小程序中,事件的绑定依附于组件,当事件触发时,就会执行事件对应的处理函数. 我们回到前几章中的例子,将index页面调整为首页(app.json中调整pages数组元素的顺序),此 ...
- 20155339 Exp7 网络欺诈防范
20155339 Exp7 网络欺诈防范 .基础问题回答 (1)通常在什么场景下容易受到DNS spoof攻击 当连接局域网的时候应该最容易被攻击,比如说连接了一些不清楚是什么的WiFi其实是很容易收 ...
- SpingMVC的<context:component-scan>包扫描踩坑记录
公司项目配置的Spring项目的包扫描有点问题,出现了一个被Spring容器管理的Bean被创建了2次的现象.在此记录下解决的过程,方便后续查阅. 改动前: 容器启动监听器中会扫描全部包,创建 ...
- JavaEE笔记(十三)
#单一职责原则 一个类只做一件事 #开闭原则 拓展开,修改源码闭 #动态代理 1 基于接口的方式 jdk的动动代理2 基于类的方式 cglib的代理 #SSH整合 1.spring(容器) 1& ...
- EZ 2018 01 14 2018noip第四次膜你赛
这次惨烈的炸了个精光(只有20),然后对我的OI想法造成了巨大的转折. (以上有点作,其实我只是再也不用vector存图了而已(用邻接表)) 难度很不均匀,而且题型很狗(还有结论题???) T1 坑人 ...