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); ...
随机推荐
- Jmeter性能测试-分布式压力测试
作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...
- Android调用相机拍照并返回路径和调用系统图库选择图片
调用系统图库: Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI); ...
- leetcode63—Unique Path II
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- PHP封装curl的调用接口及常用函数
<?php /** * @desc 封装curl的调用接口,post的请求方式 */ function doCurlPostRequest($url, $requestString, $time ...
- MVVM Light Toolkit使用指南
原文:MVVM Light Toolkit使用指南 原文地址: https://blog.csdn.net/ldld1717/article/details/77040077 概述 MVVM Lig ...
- [c#][福利]BTTool种子文件修改工具
前言 不知道各位看官是否有过类似的经历.好不容易找到一个电影的种子文件,想用百度云的离线下载功能去下载文件,却被百度云无情提示“离线文件因含有违规内容被系统屏蔽无法下载”!假设有这么一个场景,比如最近 ...
- 在sourceinsight中添加快速注释 Ctrl+/
1.搜索文件:utils.em(C:\Program Files (x86)\Source Insight 3)2.用sourceinsight打开文件:utils.em3.在文件末尾添加下面代码 m ...
- LoRa---数据包结构、跳频
数据包结构 跳频扩频技术FHSS 人太懒,直接贴图,自己看!
- [Deep-Learning-with-Python]计算机视觉中的深度学习
包括: 理解卷积神经网络 使用数据增强缓解过拟合 使用预训练卷积网络做特征提取 微调预训练网络模型 可视化卷积网络学习结果以及分类决策过程 介绍卷积神经网络,convnets,深度学习在计算机视觉方面 ...
- 腾讯云CVM服务器怎么建网站
腾讯云云服务器CVM站在用户的角度看就相当于一台计算机,虽然实际上它是一个虚拟服务器,是一个大的云端服务器集群虚拟出来的一个虚拟服务器,在使用上直接当做一个实际的服务器即可.那么,对于一个新手菜鸟来说 ...