jQuery_02之元素操作及事件绑定
1、操作元素之属性:
①attr读:$(“selector”).attr(“属性名”);=>getAttribute(“属性名”);改:$(“selector”).attr(“属性名”,值);=>setAttribute(“属性名”,值);*(*无法访问不再开始标签中存在的prop属性;例:checked,selected,disabled);
②prop读:$(“selector”).prop(“属性名”);=>elem.属性名;改:$(“selector”).prop(“属性名”,值);
③移除属性:$(“selector”).removeAttr(“属性名”);=>removeAttribute(“属性名”);
2、操作元素之内容:
①html原文:读:$(“selector”).html();=>elem.innerHTML;改:$(“selector”).html(“html片段”);=>elem.innerHTML=”html片段”;清空元素:$(“selector”).empty();=>elem.innerHTML=””;
②纯文本:读:$(“selector”).text();=>elem.textContent/innerText;改:$(“selector”).text(“文本”);
③表单元素的value:读:$(“selector”).val();改:$(“selector”).val(值);
3、操作元素之样式:
①直接操作CSS属性:$(“selector”).css(“CSS属性名”);=>getComputedStyle();$(“selector”).css(“CSS属性名”,值);=>elem.style.CSS属性名=值;同时修改多个属性值:$(“selector”).css({属性名1:值1,属性名2:值2,……});*(css()能读取所有属性,但只能修改内联样式,属性名须去横线化驼峰);
②修改class属性:a、完整修改:$(“selector”).attr(“class”,”类名”);b、追加:$(“selector”).addClass(“类名”);c、移除:$(“selector”).removeClass(“类名”);d、清除:$(“selector”).attr(“class”,””);或者$(“selector”).removeClass();e、判断是否包含:$(“selector”).hasClass(“类名”);f、在有或没有指定类名之间切换:$(“selector”).toggleClass(”类名“);
4、遍历节点:
①获得父元素:$(“selector”).parent();=>elem.parentNode;或elem.parentElement;
②获得兄弟元素:下一个兄弟$(“selector”).next([selector]);=>elem.nextElementSibling;前一个兄弟:$(“selector”).prev([selector]);=>elem.previousElementSibling;其他兄弟:$(“selector”).siblings([selector]);
③子元素:直接子元素:$(“selector”).children([selector]);所有子代元素:$(“selector”).find(selector);*(find()必须加selector);
5、添加:
①创建节点:var $elem=$(“完整html元素代码段”);
②添加:追加到parent下所有子节点末尾:$(parent).append($elem);作为parent的第一个子节点插入:$(parent).prepend($elem);插入到child之后:$(child).after($elem);插入到child之前: $(child).before($elem);
6、其它操作:
①删除:$(要删除的元素).remove();
②替换:$(old).replaceWith(新元素);或$(新元素).replaceAll(old);
③复制:var $clone=$(“selector”).clone([true]);*(true:为深度克隆包括事件处理函数);
7、事件绑定之bind:
①$(…).bind(“事件名”,fn)=>addEventListener;为同一元素的事件处理函数绑定多个函数对象;
②$(…).unbind(“事件名”,fn)=>removeEventListener;如果有可能移除事件处理函数,则绑定时必须用实名函数绑定,不能用匿名函数;重载:a、不带任何参数:移除元素上所有事件处理函数绑定;b、只带一个事件名称参数:移除元素上指定事件名称绑定的所有函数对象;c、带两个参数:仅移除事件元素上指定事件名称绑定的执行的函数对象;
8、事件绑定之delegate:
①事件代理:让指定父元素下所有符合要求的子元素都能使用事件处理函数(包括生成);原理:利用事件冒泡:a、仅将事件处理函数绑定在父元素;b、获得目标元素:e.target;c、仅响应符合条件的元素的事件;
②事件代理使用:将事件绑定到parent上(利用冒泡),只有符合selector条件的元素才能响应事件;$(parent).delegate(“selector”,“事件名”,function(e){e.target});移除绑定:$(parent).undelegate(“selector”,”事件名”,function(e){e.target});
9、其它绑定:
①一次性事件:$(…).one(“事件名”,fn);只能执行一次事件处理函数,执行后自动解除;
②将元素所有事件绑定到document:$(…).live(“事件名”,fn);$(…).die(“事件名”,fn);
③仅为一个元素绑定事件处理函数:$(“target”).on(“事件名”,fn);
④利用冒泡:$(“parent”).on(“事件名”,“selector”,fn);解除绑定off;
jQuery_02之元素操作及事件绑定的更多相关文章
- jQuery之元素操作及事件绑定
1.操作元素之属性: ①attr读:("selector").attr("属性名"):=>getAttribute("属性名"):改: ...
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- vue样式操作与事件绑定
Vue笔记 1 Vue实例 (VM) var vm = new Vue({ el:'#app', //挂载元素 //数据 data: { title:'值', ...
- jquery的链式操作以及事件绑定
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JQ动态生成的元素,原事件绑定失效
Old Code: $('code').click(function () { console.log($(this).text()); }); New Code:(.container 是<c ...
- jQuery中事件绑定到bind、live、delegate、on方法的探究
1. 给页面上的某个元素绑定事件,最初采用下面的方式实现: $(‘selector’).click(function(){ //code }); 缺点: 不能同时绑定多个事件,不能绑定动态的元素. 后 ...
- jq事件绑定
有些时候我们在页面中会动态的添加一下dom结构,当我们想要给这些结点添加事件时需要在此节点绑定一系列的操作. <a href="#" onclick="addBtn ...
- jQuery中是事件绑定方式--on、bind、live、delegate
概述:jQuery是我们最常用的js库,对于事件的绑定也是有很多种,on.one.live.bind.delegate等等,接下来我们逐一来进行讲解. 本片文章中事件所带的为版本号,例:v1.7+为1 ...
- 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
一.原生JS事件绑定方法: 1.通过HTML属性进行事件处理函数的绑定如: <a href="#" onclick="f()"> 2.通过JavaS ...
随机推荐
- 【分块打表】bzoj1662 [Usaco2006 Nov]Round Numbers 圆环数
#include<cstdio> using namespace std; #define BN 380000 const int table[]={0,185815,378154,561 ...
- 第十四章:降维:奇异值分解SVD
- 第三章 文件IO复习
open(const char * path, int flag.../*mode_t*/) #include <fcntl.h> path:绝对路径 flag:O_RDONL ...
- linux性能检测工具
- ExtJs 3.0 动态生成 CheckBox
在开发过程中,往往需要利用数据动态生成Checkbox.如权限节点.考试答案,调查选项等等.在Extjs中,有两种方法来获取后台数据,一是Ext.Ajax()方法,第二种是利用 Store,store ...
- <Oracle Database>后台进程
进程监视器进程(PMON) 这个进程负责在出现异常中止的连接之后完成清理.PMON会回滚未提交的工作,并释放为失败进程分配的SGA资源.PMON还负责监视其他的Oracle后台进程,并在必要时(如果 ...
- 关于PDV的那些事
数据集中的数据来源分为两种: 一.来自于另一个数据集: 二.来自于外部数据源(本文细说此来源): 无论是哪种来源,在它们成为目标数据集中的观测行(官方叫它observation)之前都要进入PDV,先 ...
- IOS对.Net返回的Base64string解析问题
1.c#生成Base64字符串的代码 string body = "{\"title\":\"上次CVR卡其\",\"url\": ...
- Python学习之路--select解析
sellect.poll.epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后, ...
- Android 把电话保存到现有联系人 已有联系人
搜索了很长时间,想找个把电话保存到现有联系人的代码,就是打开选中的联系人编辑界面,然后自动添加电话,再手动保存,就跟手机上的一样,功夫不负有心人,终于给搜到了,很不容易啊,现分享如下, // 保存至现 ...