Jquery一般操作归纳
一、DOM操作分类
1.DOM Core getElement(s)获得元素
2.HTML-DOM document.对象/操作标签的属性
3.CSS-DOM 获取和数组style对象的各种属性 eg:element.style.color = "red"
二、Jquery基础DOM操作
1.获取和设置元素的内容
text() //获取得到标签内的文本,不包括内部标签。空格会获取到
//$(".box").text() == ele.innerText
html() //获取到标签内的所有内容,包括子标签本身。
//$(".box").html() == ele.innerHtml
注意:如果不传入参数,表示只是获取;如果传入字符串,表示设置!
设置html,如果有标签,则会解析出来!
val() //获取一个标签的value值。有,则返回。
2.获取和修改元素的属性
attr(属性名)
$("div a").attr("href") //获取属性href值
$("div a").attr("href","http://www.baidu.com").attr("title","百度").text("百度");
3.元素的样式操作
js 操作(id) ; css 操作(class)
1.获取和设置样式 (参照上)
2.追加样式 $("#box").addClass("big")
3.移除样式 $("#box").removeClass("样式名")
4.切换样式 $("#box").toggleClass("样式名") //注意:如果样式名存在,则删除;不存在,则添加!
5.判断是否有指定的class hasClass("样式名")
6.each()方法 //变量选择到的所有元素。 参数1:遍历的元素的下标 参数2:遍历的那个元素(dom对象,不是jq对象)
$("div").each(function (index, ele) {
$(ele).html("呵呵呵")
})
三、CSS-DOM操作
1.CSS()方法 获取和设置css属性
eg:$("#box").css("backgroundColor").css("width","800px")...
注意:1.如果只传一个参数,表示获取这个属性值; 2.如果两个参数,表示设置;
2.offset()方法 //获取这个元素在当前文档的相对偏移。返回的对象的两个属性 left top
eg:console.log($(".box").offset.left + " " + $(".box").offset.top); //获取两个值
$(".box").offset({top:100,left:100}); //设置相对文档偏移量
3.position()方法 //获取标签相对于参照定位标签的偏移量。 注意:一般只获取,不设置!
eg:var $position = $(".box div").position;
console.log($position.left + " " +$position.top);
4.scrollTop() 和 scrollLeft()方法 //获取某个元素的滚动条距离上端和左端的滚动的距离
//可以添加定时器,设置让滚动条自动去滚动
eg:var per = 1;
var $p = $("p:first");
var timerId;
//自动滚屏
$("button:eq(1)").click(function() {
timerId = setInterval(function() {
var top = $p.scrollTop();
$p.scrollTop(top + per);//更改垂直滚动条距离顶端的距离,则滚动条滚起来
}, 50);
})
/*取消自动滚屏 clearInterval(timerId);*/
四、DOM节点操作
1.创建节点
a.创建元素节点 var $li = $("<li>") //双标签可以写成单标签
b.创建文本节点 var $li = $("<li>item</li>")
c.创建属性节点 var $li = $("<li id='js'>item</li>")
2.插入节点
$("<ul>").append($("<li>")) //向ul中追加一个li标签。插入后,li是ul的子标签
$("<li>").appendTo($("<ul>"))
$("<ul>").prepend($("<li>")) //向ul的最前面追加一个li标签
$("<ul>").after($("<li>")) //在ul后面插入一个li标签。此时,li是ul的兄弟标签
$("<ul>").before($("<li>")) //在ul前面插入一个li标签。此时,li是ul的兄弟标签
3.删除节点
方法1:remove() //删除找到的标签。删除的标签会返回; 绑定的事件会丢失
eg:
方法2:detach() //与remove()区别:绑定的事件、附加的数据还在
eg:
方法3:empty() //清空找到的节点的所有内容,包括所有后代节点。节点还在。??
eg:
4.复制节点
方法:clone()
eg:$(".languages li:first").clone().appendTo($(".languages"));//复制节点,并添加到某个元素后面
5.替换节点
方法1:replaceWith()
eg:$(".languages li").replaceWith("<li>我要全部干掉你们</li>");//找到的所有的li用参数中的节点替换
方法2:replaceAll()
eg:$("<li>我要全部干掉你们</li>").replaceAll($(".languages li"));
6.包裹节点
方法1:li.wrap(p) //每一个li分别用p包裹。 假如,有3个li,此时每个li外面都有1个p包裹住。此时,有3个p;
方法2:li.wrapAll(p) //所有的li用p包裹。此时,有1个p;
方法3:li.wrapInner(p) //用p去包裹li的内容,不包裹li这个标签本身。
eg:$(".languages li").wrapInner("<span>") //.languages li 标签中的内容用span包括。 注意:不包裹标签字节,只包括标签的内容!
五、JQuery中的事件
基础事件
1.事件绑定
元素对象.bind("参数1","参数2",参数3)
参数1:事件类型; 比如:blur、load、focus、scroll、click、dblclick、mouseon...
参数2:一般省略
参数3:事件处理函数(一般匿名函数)
eg:$("button:first").bind("click",function(){
alert("...")
})
注意:这里绑定的事件类型是没有on的。
2.解除绑定
元素对象.unbind("事件类型") //解除与1绑定的事件
注意:如果不传参数表示解除所有的事件绑定(一个按钮会同时存在多种事件)
eg:$("button:eq(0)").unbind("click");
3.简写事件
eg:$("button:eq(1)").click(function () {
alert("解除")
firstBtn.unbind("click"); //解除click事件的绑定
})
4.复合事件
1.hover(f1,f2) //当光标移动到元素上的时候,会触发第一个函数f1;当移除时,会触发第二个函数f2。
模拟光标悬停事件
2.toggle(f1,f2..fn)
模拟鼠标连续单击事件
功能1:当第一次单击时,执行第一个函数。当第二次单击时,执行第二个函数。。。完毕后,再循环。
功能2:不传任何参数,可以让元素隐藏或显示。
注意:从1.9版本后,只保留功能2!!
事件对象
1.获取事件对象
eg:ele.click(function(event){}) //event只能在函数内部使用
2.事件对象的常用属性
1.type属性 //获取事件类型
2.preventDefault()方法 //阻止事件的默认行为。兼容各种浏览器
3.stopPropation()方法 //阻止事件的冒泡
4.target属性 //获取到触发事件的元素
5.pageX、pageY属性 //光标相对与页面的距离。如果有滚动条,还要加上滚动条的距离
6.which属性 //鼠标:左(1)中(2)右(3) 键盘:键盘的按键
7.metaKey属性 //获取ctrl按键
3.事件的冒泡、沉默处理
事件函数中返回false,可以同时停止默认行为和冒泡。所以,可以直接返回false,而不要调用上述两个方法。
高级事件
1.事件模拟操作
1.ele.trigger(事件类型)
eg:$("button").click(function() {
alert("我被点击了");
})
$("button").trigger("click") == $("button").click();
2.trigger自定义事件
eg:$("button").bind("myClick", function () {
alert("这个是我自定义的事件");
})
$("button").trigger("myClick");
3.执行默认操作:trigger触发的事件,不仅仅触发了事件函数,也会触发浏览器的默认操作。
比如,给input注册一个focus事件,则不但触发focus事件,还会触发浏览器的默认事件,使input获得焦点。
使用trigerHanddler可以避免浏览器的默认操作。
2.事件命名空间
$btn.bind("click.my", function () {
console.log("点击事件");
})
$btn.unbind(".my"); //通过命名空间统一管理命名空间下的事件
3.事件委托
/*//只处理选择器选中这些元素的委托
$("div:first").delegate("button:nth-child(2n+1)", "click", function(){
console.log("abc");
});
//解除委托
$("div:first").undelegate("button:nth-child(2n+1)", "click");*/
4.on()、off()
$("button:first").on("click", {name:"lisi"}, function (event) {
console.log(event.data); //在参数中传递的数据,通过event.data获取 // console.log("abcc");
})
$("button:first").off("click");
Jquery一般操作归纳的更多相关文章
- JavaScript jQuery 中定义数组与操作及jquery数组操作
首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...
- IE7中使用Jquery动态操作name问题
问题:IE7中无法使用Jquery动态操作页面元素的name属性. 在项目中有出现问题,某些客户的机器偶尔会有,后台取不到前台的数据值. 然开发和测试环境总是不能重现问题.坑爹之处就在于此,不能重现就 ...
- 深入学习jQuery节点操作
× 目录 [1]创建节点 [2]插入节点 [3]删除节点[4]复制节点[5]替换节点[6]包裹节点 前面的话 DOM节点操作包括创建节点.插入节点.移除节点.替换节点和复制节点.jQuery也有类似的 ...
- JQuery中操作Css样式的方法
JQuery中操作Css样式的方法//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#tw ...
- jQuery HTML 操作
jQuery 包含很多供改变和操作 HTML 的强大函数. 改变 HTML 内容 语法 $(selector).html(content) html() 函数改变所匹配的 HTML 元素的内容(inn ...
- Jquery DOM 操作列表
jQuery 文档操作方法 这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html(). jQuery 属性操作方法 下面列出的这些方法获得或设置元素的 DOM 属性. 这些方法对于 ...
- 转:jQuery 常见操作实现方式
http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备 ...
- jQuery Ajax 操作函数及deferred对象
jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...
- jQuery Ajax 操作函数
jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...
随机推荐
- assert的用法
assert用来调试时,判断一个语句是否为真. assert是宏,而不是函数.在C的assert.h 头文件中. assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么 ...
- cookie 和session 的区别
假如我填好了淘宝的用户名密码,点击登录,浏览器客户端像服务器端发送请求,这时服务器端看这个用户是第一次登陆,session会让客户端这个浏览器生成个cookie,并给cookie一个session i ...
- CSS3制作同心圆进度条
1.css代码 此处在制作进度条时,是旋转进度条的半圆(红色),背景使用灰白(如果使用红色作为背景,旋转灰白遮罩,在浏览器中可能会有渲染bug) .wrapper{ display:block;pos ...
- PHP面向对象_重载新的方法(parent::)
在学习PHP 这种语言中你会发现, PHP中的方法是不能重载的, 所谓的方法重载就是定义相同的方法名,通过“参数的个数“不同或“参数的类型“不 同,来访问我们的相同方法名的不同方法.但是因为PHP是弱 ...
- subversion(SVN)常规使用
语法: svn <subcommand> [options] [args] 使用“svn help <subcommand>” 显示子命令的帮助信息. 使用 ...
- kindeditor富文本框,上传文件后,显示文件名称
kindeditor作为一个应用广泛富文本框,我们经常会利用到它,然而在使用的过程中,发现有的地方使用起来很不方便,例如本文要说的,用户上传文件之后,默认只有文件URL,没有文件说明,如图: 点击确定 ...
- Acadia Lab 228 + Lab 222
又是一对串烧实验,布好线后非常方便就可以一起完成. 连线方案一模一样: Lab 228 数码管骰子 核心代码如下: def loop() : global cnt global btn_read,se ...
- Lisp中编写宏的步骤以及规范
一.编写步骤 1.编写示例的宏调用以及它应当展开的代码,反之亦然. 2.编写从示例调用中生成手写展开式的代码. 3.确保宏抽象不产生"泄露". 二.遵循规则 1.除非有特殊理由,否 ...
- jquery实现幻灯片
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Docker 不能被外网正常访问
问题描述: 1. docker容器不能 被外部网络正常访问 2. docker所在服务器可以正常访问 3. docker启动时 报 ip_forward 错误 ARNING: IPv4 forward ...