JQuery DOM操作 、属性和CSS样式操作、其他函数
1、在div1内部最后追加一个节点
$("#div1").append("<img src='../01-HTML基本标签/img/Male.gif'/>");
2、将一个节点插入到div1的内部最后
$("<img src='../01-HTML基本标签/img/Female.gif'/>").appendTo("#div1")
3、在div1内部前面追加一个节点
$("#div1").prepend("<img src='../01-HTML基本标签/img/Male.gif'/>");
4、将一个节点插入到div1的内部最前面
$("<img src='../01-HTML基本标签/img/Female.gif'/>").prependTo("#div1");
5、在div1外部前面插入一个节点
$("#div2").before("<p>一个P标签</p>"); $("<p>标签</p>").insertBefore("#div2");
6、将一个节点插入到div1的外部最前面
$("#div2").after("<p>一个P标签</p>"); $("<p>标签</p>").insertAfter("#div2");
7、为每一个选中的节点都套一层父节点
$("div").wrap("<section></section>");
8、将选中的所有节点包裹在同一个父节点中
$("div ~ p").wrapAll("<section></section>");
9、删除选中节点的父节点
$("div p").unwrap();
10、将选中节点中的所有元素,包裹在一个新的父节点中
新的节点是当前元素的唯一子节点
$("#div1").wrapInner("<div></div>");
11、将所有选中节点替换成新的节点
$("div p").replaceWith("<span>12</span>"); $("<span>12</span>").replaceAll("div p");
12、清空当前节点中的所有内容,但会保留当前节点标签
$("#div1").empty();
13、删除当前节点以及该节点的所有子节点
$("#div1").remove(); $("#div1").detach();
[remove 和 detach的区别]
使用remove删除的节点,恢复以后,将不再保留节点所绑定的事件
使用detach删除的节点,恢复以后,可以保留节点所绑定的事件
14、 [JS 中cloneNode() 与JQ中 clone() 的区别]
① cloneNode() 传入false 或 不传,不能可隆子节点
传入true ,可以克隆子节点
② clone() 无论传入true 或 false 或 不传 ,都会克隆当前节点及其子节点
但是,只有传入true,才可以克隆当前节点所绑定的事件,否则不可隆事件
第二个参数传入true 或 false 表示是否克隆子节点
$("#div1").click(function(){ alert("我是div1"); }); $("#div1").clone(false,).insertBefore("button:eq(0)");
1、设置节点属性
$("#div1").attr("class","cls1");
2、传入对象,以键值对的形式同时设置多个属性
$("#div1").attr({ "class":"cls", "name":"name1", "font-size":"24px" });
3、删除节点属性
console.log($("#div1").attr("id"));
prop 和 attr一样,都可以对节点属性进行读取和设置。
【两者的不同】
在读取属性=“属性值”时,attr返回的是 属性值 或 undefined;
prop返回的是true / false
console.log($("#div1").attr("disabled")); console.log($("input").prop("checked"));
4、>>> 在原有class基础上新增一个class名字
console.log($("#div1").addClass("cla"));
>>> 删除指定的class名称,其余的class名依然保留
console.log($("#div1").removeClass("cls cla"));
>>> 切换class, 如果有指定class就删除,如果没有就新增
$("button:eq(0)").click(function(){ $("#div1").toggleClass("div1") });
5、.html() 取到或设置节点中的html代码
.text() 取到或设置节点中的文本
.val() 取到或设置表单中的value值
$("#div1").html("<span>123</span>"); $("#div1").text("<p>567</p>"); $("input:eq(0)").val("<p>值</p>");
6、>>>css() 给节点添加css样式,属于行级样式表权限
$("#div1").css("color","goldenrod");
>>>同时给一个节点添加多个css样式
$("#div1").mousedown(function(){ "class" : "clc", "color" : "goldenrod", // "font-size" : "24px" // 通过回调函数设置样式 "font-size":function(index,value){ var n=parseInt(value)+1; return n+"px"; } });
7、>>>取到或者设置节点的宽、高
$("#div1").width(400); $("#div1").width("400px");
>>> 取到节点的宽、高+padding。不含 border和margin
console.log( $("#div1").innerWidth()); console.log( $("#div1").innerHeight());
>>>不传参数表示:宽高+padding+border
>>>传入true表示:宽高+padding+border+margin
console.log( $("#div1").outerWidth()); console.log( $("#div1").outerHeight(true));
8、返回一个节点,相对于浏览器的左上角的偏移量
* 返回一个对象{top:20,left:20}
*/
console.log( $("#div1").offset());
9、返回一个节点,相对于父容器的偏移量。
注意:
① 使用此方法,要求父元素必须是定位元素。如果父元素不是定位元素,
则依然是相对于浏览器左上角进行测量
② 此方法,测量偏移量时,将不考虑margin。而会将margin视为当前容器的一部分。
console.log( $("#div1").position());
10、设置或取到指定节点的滚动条的位置
console.log( $("#div1").scrollTop(200).scrollTop());
1、each() 用于遍历JQuery中的对象数组。
在回调函数中,return true; 相当于continue;
return false;相当于break;
$("#ul1 li").each(function(index,item){ if(index%2!=0){ return true; } console.log(index); console.log($(item).text());
在回调函数中,this指向调用当前函数的节点对象
this,item是JS对象,在JQuery使用时要用 $ 包裹
console.log($(this)); //console.log(item); $(this).text($(this).text()+"aaa");
2、 .size() .length 返回所查询的数组中元素的个数
console.log($("#ul1 li").size());
3、 .get() 将JQuery对象转成JS对象,传入index表示取出第几个,并转成JS对象
不传参数,表示将数组中的所有元素转为JS对象
console.log($("#ul1 li").get(0));
4、对传入的数组或对象进行遍历。可以是JQuery对象数组,也可以是JS数组或对象【常用】
var arr=[1,2,3,4]; var obj={ name:"zhangsan", age:24, sex:"nan" }; $.each($("li"), function(index,item) { console.log(index+"----"+item); console.log(item) });
5、 数组映射
var newArr=$.map(arr, function(item,index) { return item+5; }); console.log(newArr);
6、$.inArray():检测一个值是否在数组中,返回下标。如果没有找到返回-1.
第三个参数表示查找的起始下标。
var arr = [1,2,3,4]; var is=$.inArray(2,arr,2);//相当于 arr.indexOf(2,2);
7、将选中的JQuery DOM集合,恢复成数组。数组的每一个元素是JS对象
console.log($("#ul1 li").toArray());
8、merge:合并两个数组
var arr=$.merge([1,2,3],[4,5,6]); console.log(arr);
9、将一个JSON字符串转换成JSON对象
var str='{"1":"zhan","2":"wanggang","3":"lizhn"}'; console.log(str); console.log($.parseJSON(str));
10、检测一个节点,是否包含另一个节点
接收两个JS对象,第一个是父对象,第二个是子对象
console.log($.contains($("#ul1")[0],$("#li")[0]));
11、hasClass() 检测一个节点是否有指定的 class名
console.log($("#ul1").hasClass("clas"));
12、 [各种检测函数]
$.contains(c,c)
$.type(obj)
$.isarray(obj)$.isFunction(obj)
$.isEmptyObject(obj)
$.isPlainObject(obj)
$.isWindow(obj)
$.isNumeric(value)1.7+
JQuery DOM操作 、属性和CSS样式操作、其他函数的更多相关文章
- jQuery修改class属性和CSS样式
jQuery修改class属性和CSS样式 class属性修改 类属性即class属性,规定类名. 用类选择器规定样式的时候,需要为元素指定类名,即class属性的值. 注意每个HTML元素只有一个c ...
- try.jquery-5-styling里的各种css样式操作
你好,这里是我的http://try.jquery.com/学习笔记: 这次来学习操作各种css. 主要对这段html元素进行操作. <div id="all-tours"& ...
- js css样式操作代码(批量操作)
js css样式操作代码(批量操作) 作者: 字体:[增加 减小] 类型:转载 时间:2009-10-09 用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果.并且考虑到效率. ...
- python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)
11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...
- 转:jquery操作元素的css样式(获取、修改等等)
//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...
- 使用jquery操作元素的css样式(获取、修改等等)
//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...
- jQuery 源码解析(二十七) 样式操作模块 坐标详解
样式操作模块可用于管理DOM元素的样式.坐标和尺寸,本节讲解一下坐标这一块. 对于坐标来说,jQuery提供了一个offset方法用于获取第一个匹配元素的坐标或者设置所有匹配元素的坐标,还有offse ...
- 获取jQuery对象的第N个DOM元素 && table常用css样式
获取jQuery对象的第N个DOM元素 1.$(selector).get(N-1) 2.$(selector)[N-1] 注意:.index()方法返回的是一个数,相当于C#中的IndexOf() ...
- javascript操作元素的css样式
我们经常要使用Javascript来改变页面元素的样式.当中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们一般是通过处理HTML Dom的classname特性 ...
随机推荐
- Android的ProgressBar进度条-android学习之旅(三十一)
ProgressBar 简介 ProgressBar是一种很常用的Ui,用于给复杂的操作显示进度,提供更好的用户相应.使用setProgress()incrementProgressBy()来设置进度 ...
- Mybatis源码之Statement处理器RoutingStatementHandler(三)
RoutingStatementHandler类似路由器,在其构造函数中会根据Mapper文件中设置的StatementType来选择使用SimpleStatementHandler.Prepared ...
- C++为什么要设计友元函数和友元类
1. 首先要提一下java,比如java定义一个类1.class,会生成字节码.java有反射机制,可以找到类对象,直接修改类的私有属性.逐渐反射机制成为了一种标准,sun做成标准,JDK的API函数 ...
- Accounting Flexfield Setup and Usage (Doc ID 124333.1)
APPLIES TO:Oracle General Ledger - Version 11.5.10.2 to 12.1.3 [Release 11.5.10 to 12.1] Information ...
- 分布式进阶(八)Linux提示Unable to locate package该如何处理?
Linux提示Unable to locate package该如何处理? 当你在修改Linux软件源的时候,提示Unable to locate package错误,这是由什么原因导致的呢?又该如何 ...
- android开发技巧——仿新版QQ锁屏下弹窗
新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能.经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意. 下面是实现过程. 1.使用Activity,而不是V ...
- CodePen最佳实例分享
原文地址: Chris Coyier's Favorite CodePen Demos 原文日期: 2013年8月13日 翻译日期: 2013年8月21日 CodePen: Build, Explor ...
- 批量替换数据库中所有用户数据表中字段数据类型为char和varchar到nvarchar的脚本
解决问题:字段类型为char的总是占用指定字节长度(末尾好多空白符号),varchar数据类型长度一个汉字占2个字节,内容存储为中文的字段个人建议全部使用nvarchar. 操作说明:打开SQL Se ...
- Socket层实现系列 — I/O事件及其处理函数
主要内容:Socket I/O事件的定义.I/O处理函数的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd I/O事件定义 sock中定义了几个I/ ...
- 安卓TV开发(十) 智能电视开发之在线视频直播
转载注明出处:http://blog.csdn.net/sk719887916/article/details/46582987 从<安卓TV开发(八) 移动智能终端多媒体之在线加载网页视频源& ...