jQuery属性操作(一)
下载了jQuery的UI组件,发现内容还挺多的,还是决定先把jQuery的源码看完一遍之后再涉足UI组件。考虑到队列和动画使用较少,特别是动画,基本开始使用css3完成。因此暂时略过,开始看jQuery对属性操作的处理。该部分大约500行代码,预计一周看完。
jQuery提供的属性操作方法有两种
1、挂载到jQuery对象上
// 获取或设置属性值。当参数只有name时,获取jQuery集合中的第一个元素的name属性的值。
// name和value都有时,为jQuery集合中的所有元素增加name属性,value为值的属性
$(elem).attr(name, [value]);
// 删除jQuery集合中所有元素上的name属性
$(elem).removeAttr(name);
// 获取或设置属性值。当参数只有name时,获取jQuery集合中的第一个元素的name属性的值。
// name和value都有时,为jQuery集合中的所有元素增加name属性,value为值的属性
// 同attr的区别是当属性为checked等属性时,attr返回“checked”字符串,而prop返回true布尔值
$(elem).prop(name, value);
// 删除jQuery集合中所有元素上的name属性
$(elem).removeProp(name);
// 为jQuery集合中每个元素添加class
$(elem).addClass(value);
// 删除class,当有value参数时,删除jQuery集合中所有元素的为value的class,如果没有参数,则删除jQuery集合中所有元素的所有class
$(elem).removeClass([value]);
// 交替添加或删除class。当只有value参数时,有这个class就删除,没有就添加
// 如果有两个参数时,第二个参数如果为true,则添加class,否则删除class
$(elem).toggleClass(value, [stateVal]);
// 判断元素上是否有某个class
$(elem).hasClass(selector);
// 得到或者获取元素的值(一般是表单元素),当有value参数时,为jQuery集合中每个元素设置value
// 如果没有传入参数。则得到jQuery集合中第一个元素的值
$(elem).val(value);
2、挂载在$上的属性和方法。(主要为第一种方法提供兼容性上的处理)
$.valHooks 属性
$.attr()
$.removeAttr()
$.attrHooks 属性
$.propFix 属性
$.prop()
$.propHooks 属性
因为挂载到$上的方法提供基础处理,所以先看下挂载到$上的方法和属性
jQuery.extend({
valHooks: {
option: {
// 处理获取option的value时,不同浏览器的兼容性(原生不熟悉,并不了解为什么做这样的处理)
get: function( elem ) {
var val = elem.attributes.value;
return !val || val.specified ? elem.value : elem.text;
}
},
},
attr: function( elem, name, value ) {},
removeAttr: function( elem, value ) {},
attrHooks: {},
propFix: {},
prop: function( elem, name, value ) {},
propHooks: {}
});
jQuery属性操作(一)的更多相关文章
- jquery——属性操作、特殊效果
1. attr().prop() 取出或者设置某个属性的值 <!DOCTYPE html> <html lang="en"> <head> &l ...
- jQuery属性操作
jQuery 的属性操作的核心部分其实就是对底层 getAttribute().setAttributes()等方法的一系列兼容性处理 ...if ( notxml ) { name = name.t ...
- jQuery源代码学习之八——jQuery属性操作模块
一.jQuery属性模块整体介绍 jQuery的属性操作模块分四个部分:html属性操作,dom属性操作,类样式操作,和值操作. html属性操作(setAttribute/getAttribute) ...
- jQuery 属性操作和CSS 操作
如有在jQuery方法中涉及到函数,此函数必定会返回一个数值(函数由于运行次数不同触发一些不同效果) jQuery 属性操作方法(以下方法前些日子学习过,不再赘述) addClass() attr() ...
- python全栈开发day48-jqurey自定义动画,jQuery属性操作,jQuery的文档操作,jQuery中的ajax
一.昨日内容回顾 1.jQuery初识 1).使用jQuery而非JS的六大理由 2).jQuery对象和js对象转换 3).jQuery的两大特点 4).jQuery的入口函数三大写法 5).jQu ...
- jQuery属性操作(四)
通过阅读jQuery为属性操作封装的基本方法和为处理兼容性问题提供的hooks,发现jQuery在属性操作方面并没有做过多的设计,只是处理一下兼容性问题,然后调用基础的DOM操作方法.以下是对JQue ...
- jQuery属性操作(二)
挂载到$上的几个属性操作方法分析,发现属性操作用到了sizzle封装的方法 attr: function( elem, name, value ) { var hooks, ret, ...
- web前端----jQuery属性操作
知识点总结 1.属性 属性(如果你的选择器选出了多个对象,那么默认只会返回出第一个属性). attr(属性名|属性值) - 一个参数是获取属性的值,两个参数是设置属性值 - 点击加载图片示例 remo ...
- Jquery属性操作(入门二)
********JQuery属性相关的操作******** 1.属性 属性(如果你的选择器选出了多个对象,那么默认只会返回出第一个属性). attr(属性名|属性值) - 一个参数是获取属性的值,两个 ...
随机推荐
- Web打印控件Lodop实现证件套打
第一次接触Lodop大概是在两年前了,那时候研究Lodop主要是为了验证它能不能实现打印时在不修改内容的前提下调整样式,结果是ok的,如今又一次接触它,是因为工作中需要使用它了,于是再一次碰面 Lod ...
- linux下怎么用tree命令以树形结构显示文件目录结构?
tree命令以树状图列出文件目录结构.不过某些Linux上(Centos 6.4)没有tree命令,本文将介绍安装方法. 常用参数: ? 1 2 3 4 5 6 tree -d 只显示目录. tr ...
- T4生成多文件时,不生成自己
如:我用的网上的生成多文件的一个include文件. 生成多文件时,默认会生成一个以自己名字命名的文件如: 有一个demo.tt文件,生成时会出来一个demo.cs文件(默认情况下) 解决方法: Fo ...
- 软渲染 SoftRender
弄了这几年OpenGL对管线还是算比较熟悉,写起来也比较顺,不过每个顶点都要经过一堆变换,着实感到效率的重要.(矩阵乘顶点没有SSE加速啊)装个B,半天的成果..(主要很多东西都写好了直接拿来) // ...
- linux环境下获取真实的ip地址
package inas.test; import java.net.Inet6Address; import java.net.InetAddress; import java.net.Networ ...
- jquery与php的HTML转义与反转义
1.jquery (1)Html转义 var tmp = '<a href="https://www.baidu.com/">连接</a>'; var tm ...
- git 强制刷新,放弃更改
git fetch --all git reset --hard origin/master
- Android开发学习笔记-实现联网检测程序版本
package com.frank.mobilesafe; import java.io.InputStream; import java.net.HttpURLConnection; import ...
- 五大行获央行5000亿SLF 相当于降准0.5%
人民网北京9月17日电 (吕骞)据新浪财经报道,9月16日收盘后,市场传央行当天对五大行进行5000亿SLF操作,性质类同基础货币的投放,近似全面降准0.5个百分点.国泰君安.国信等数家机构晚间证实传 ...
- MySQL索引优化入门
索引简介 官方定义:索引(Index) 是帮助MySQL高效获取数据的数据结构.大家一定很好奇,索引为什么是一种数据结构,它又是怎么提高查询的速度?我们拿最常用的二叉树来分析索引的工作原理.看下面的图 ...