DOM操作

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)");
属性和CSS样式操作

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样式操作、其他函数的更多相关文章

  1. jQuery修改class属性和CSS样式

    jQuery修改class属性和CSS样式 class属性修改 类属性即class属性,规定类名. 用类选择器规定样式的时候,需要为元素指定类名,即class属性的值. 注意每个HTML元素只有一个c ...

  2. try.jquery-5-styling里的各种css样式操作

    你好,这里是我的http://try.jquery.com/学习笔记: 这次来学习操作各种css. 主要对这段html元素进行操作. <div id="all-tours"& ...

  3. js css样式操作代码(批量操作)

    js css样式操作代码(批量操作) 作者: 字体:[增加 减小] 类型:转载 时间:2009-10-09   用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果.并且考虑到效率.   ...

  4. python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)

    11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...

  5. 转:jquery操作元素的css样式(获取、修改等等)

    //1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...

  6. 使用jquery操作元素的css样式(获取、修改等等)

    //1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...

  7. jQuery 源码解析(二十七) 样式操作模块 坐标详解

    样式操作模块可用于管理DOM元素的样式.坐标和尺寸,本节讲解一下坐标这一块. 对于坐标来说,jQuery提供了一个offset方法用于获取第一个匹配元素的坐标或者设置所有匹配元素的坐标,还有offse ...

  8. 获取jQuery对象的第N个DOM元素 && table常用css样式

    获取jQuery对象的第N个DOM元素 1.$(selector).get(N-1) 2.$(selector)[N-1] 注意:.index()方法返回的是一个数,相当于C#中的IndexOf() ...

  9. javascript操作元素的css样式

    我们经常要使用Javascript来改变页面元素的样式.当中一种办法是改变页面元素的CSS类(Class),这在传统的Javascript里,我们一般是通过处理HTML Dom的classname特性 ...

随机推荐

  1. 03安卓TextView

    一  TextView    父类 : View     >概念:文本控件 :文本内容的显示   默认配置不可编辑  子类EditText可以编辑 *********************** ...

  2. 【java虚拟机系列】java中类与对象的加载顺序

    首先了解一下Java虚拟机初始化的原理. JVM通过加装.连接和初始化一个Java类型,使该类型可以被正在运行的Java程序所使用.类型的生命周期如下图所示: 装载和连接必须在初始化之前就要完成. 类 ...

  3. java 判断是否是周末

    package untitled7; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Calend ...

  4. [sersync+rsync] centos6.5 远程文件同步部署记录

    针对本地文件的修改,自动同步到远程文件夹,远程备份很方面.研究了下大家的主流同步方案一般是 rsync+inotify和rsync+sersync, 我这里使用sersync的方案,当然大部分都是参照 ...

  5. UNIX环境高级编程——system V信号量

    1. 信号量(semaphore)主要用于保护临界资源.进程可以根据它判断是否能访问某些共享资源.信号量除了用于访问控制外,还可用于进程同步,也就是进程间通信.2. 信号量分类:a. 二值信号量: 信 ...

  6. 【一天一道LeetCode】#91. Decode Ways

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 A messa ...

  7. Android中显示gif动态图片

    在android中显示一个静态图片比如png jpg等等都很方便,但是如果要显示一个gif 动态图片就需要进行一些处理. 本文是采用自定义view 然后进行重新onDraw方法来实现 首先自定义Vie ...

  8. H5学习之旅-H5列表(8)

    列表的基本语法 ol:有序列表 ul:无序列表 li:列表项 dl:列表 dt:列表项 dd:列表描述 常用列表 1.无序列表:使用标签 ul,li 属性:disc(默认实心圆) circle (空心 ...

  9. 内存数据网格hazelcast的一些机制原理

    hazelcast作为一个内存数据网格工具,还算比较优秀,听说有Apache顶级项目使用它,值得研究下,使用文档可以直接看官方文档,但机制原理相关的资料基本没有,本人硬撸源码写的一些东西,跟大家分享一 ...

  10. JNI动态注册native方法及JNI数据使用

    前言 或许你知道了jni的简单调用,其实不算什么百度谷歌一大把,虽然这些jni绝大多数情况下都不会让我们安卓工程师来弄,毕竟还是有点难,但是我们还是得打破砂锅知道为什么这样干吧,至少也让我们知道调用流 ...