属性操作相关方法

  • attr()

设置或者获取元素的属性节点值

attr: function (attr, value) {// 1.判断是否是字符串if(njQuery.isString(attr)){// 判断是一个字符串还是两个字符串if(arguments.length === 1){return this[0].getAttribute(attr);}else{this.each(function (key, ele) {ele.setAttribute(attr, value);});}}// 2.判断是否是对象else if(njQuery.isObject(attr)){var $this = this;// 遍历取出所有属性节点的名称和对应的值$.each(attr, function (key, value) {// 遍历取出所有的元素$this.each(function (k, ele) {ele.setAttribute(key, value);});});}return this;
},
  • prop()

设置或者获取元素的属性值

prop: function (attr, value) {// 1.判断是否是字符串if(njQuery.isString(attr)){// 判断是一个字符串还是两个字符串if(arguments.length === 1){return this[0][attr];}else{this.each(function (key, ele) {ele[attr] = value;});}}// 2.判断是否是对象else if(njQuery.isObject(attr)){var $this = this;// 遍历取出所有属性节点的名称和对应的值$.each(attr, function (key, value) {// 遍历取出所有的元素$this.each(function (k, ele) {ele[key] = value;});});}return this;
},
  • css()

设置获取样式

css: function (attr, value) {// 1.判断是否是字符串if(njQuery.isString(attr)){// 判断是一个字符串还是两个字符串if(arguments.length === 1){return njQuery.getStyle(this[0], attr);}else{this.each(function (key, ele) {ele.style[attr] = value;});}}// 2.判断是否是对象else if(njQuery.isObject(attr)){var $this = this;// 遍历取出所有属性节点的名称和对应的值$.each(attr, function (key, value) {// 遍历取出所有的元素$this.each(function (k, ele) {ele.style[key] = value;});});}return this;
},
  • val()

获取设置value的值

val: function (content) {if(arguments.length === 0){return this[0].value;}else{this.each(function (key, ele) {ele.value = content;});return this;}
},
  • hasClass()

判断元素中是否包含指定类

hasClass: function (name) {var flag = false;if(arguments.length === 0){return flag;}else{this.each(function (key, ele) {// 1.获取元素中class保存的值var className = " "+ele.className+" ";// 2.给指定字符串的前后也加上空格name = " "+name+" ";// 3.通过indexOf判断是否包含指定的字符串if(className.indexOf(name) != -1){flag = true;return false;}});return flag;}
},
  • addClass()

给元素添加一个或多个指定的类

addClass: function (name) {if(arguments.length === 0) return this;// 1.对传入的类名进行切割var names = name.split(" ");// 2.遍历取出所有的元素this.each(function (key, ele) {// 3.遍历数组取出每一个类名$.each(names, function (k, value) {// 4.判断指定元素中是否包含指定的类名if(!$(ele).hasClass(value)){ele.className = ele.className + " " + value;}});});return this;
},
  • removeClass()

删除元素中一个或多个指定的类

removeClass: function (name) {if(arguments.length === 0){this.each(function (key, ele) {ele.className = "";});}else{// 1.对传入的类名进行切割var names = name.split(" ");// 2.遍历取出所有的元素this.each(function (key, ele) {// 3.遍历数组取出每一个类名$.each(names, function (k, value) {// 4.判断指定元素中是否包含指定的类名if($(ele).hasClass(value)){ele.className = (" "+ele.className+" ").replace(" "+value+" ", "");}});});}return this;
},
  • toggleClass()

没有则添加,有则删除

toggleClass: function (name) {if(arguments.length === 0){this.removeClass();}else{// 1.对传入的类名进行切割var names = name.split(" ");// 2.遍历取出所有的元素this.each(function (key, ele) {// 3.遍历数组取出每一个类名$.each(names, function (k, value) {// 4.判断指定元素中是否包含指定的类名if($(ele).hasClass(value)){// 删除$(ele).removeClass(value);}else{// 添加$(ele).addClass(value);}});});}return this;
}

[jQuery原理] jQuery属性操作相关方法相关推荐

  1. jQuery attr removeAttr 属性操作

    jQuery attr removeAttr 属性操作 <%@ page language="java" import="java.util.*" pag ...

  2. [jQuery原理] jQuery事件操作相关方法

    事件操作相关方法 on(type, callback) 注册事件 1.注册多个相同类型事件, 后注册的不会覆盖先注册的 2.注册多个不同类型事件, 后注册的不会覆盖先注册的 on: function ...

  3. 前端HTML调用jQuery库,属性操作:更换图片、添加字体样式(前端:HTML搭配jQuery系列教程六)

    属性操作:更换图片.改变字体样式 1.更换图片: 在jQuery中,我们可以使用attr()方法来获取元素的某一个HTML属性值. 语法: $().attr("属性名") 说明:获 ...

  4. jquery对标签属性操作

    jquery中添加属性和删除属性: $("#2args").attr("disabled",'disabled'); $("#2args") ...

  5. 前端提高篇(八十六):jQuery的class属性操作addClass()与removeClass()、hasClass()、toggleClass()

    1.addClass()与removeClass()基本使用 addClass:添加class:removeClass:移除class,返回this对象,支持链式操作 $('div').addClas ...

  6. [jQuery原理] jQuery入口函数

    入口函数测试 传入 '' null undefined NaN 0 false 会返回一个空的jQuery对象给我们 console.log($()); console.log($('')); con ...

  7. [jQuery原理] jQuery基本结构

    1.jQuery的本质是一个闭包 2.jQuery为什么要使用闭包来实现? 为了避免多个框架的冲突 3.jQuery如何让外界访问内部定义的局部变量 window.xxx = xxx; 4.jQuer ...

  8. jQuery原理第五天

    addClass <!--* @Author: 码小余* @Date: 2020-06-27 08:23:36* @LastEditTime: 2020-06-27 08:26:43* @Fil ...

  9. jQuery原理第四天

    insertAfter 实现insertAfter需要用到原生JavaScript的nextSibling属性 元素.insertAfter.指定元素 ==>将元素添加到指定元素外部的后面 in ...

最新文章

  1. 在Java版中被移除的物品,盘点Minecraft曾“移除”的5个物品,Mojang反悔?1.14即将加入!...
  2. iphone圆点怎么弄出来_新款iPhone放出终极大招,果粉:就没高级点的嘛
  3. 方立勋_30天掌握JavaWeb_Servlet Filter(过滤器)未完
  4. 如何配置能让fiddler抓去https的请求?
  5. linux内核字符设备文件的自动创建
  6. mysql数据库group_key_【MySQL】数据库复制:组复制(Group Replication)
  7. iphone开发之私有库private frameworks
  8. git 怎么查看合并过来哪些代码_git整理纷乱的历史合并记录
  9. CIF进口货物流程图_广州进口报关公司阿根廷红酒上海进口清关成本选择聚海
  10. 2压缩备份数据库_达梦数据库备份与还原
  11. java PDF转jpg
  12. js 实现2的n次方计算函数_x的10的n次方解决js浮点数计算
  13. 谷歌地图kml能透明吗_如何打开KML和KMZ文件并与卫星影像叠加
  14. 什么是Iterator
  15. python录入数据至ppt_利用Python进行数据分析之 数据加载.ppt
  16. 海思Hi3516新增sensor imx214 笔记
  17. 淘宝/天猫获得淘宝商品详情高级版 API
  18. 全球及中国护手霜和护手乳液行业盈利前景及竞争格局展望报告2022-2027年
  19. window统计文本字节_在线字数统计工具-统计字符字节汉字数字标点符号-计算word文章字数-使用帮助-字的区别...
  20. 引入新插件后Gradle在配置阶段报错

热门文章

  1. 通信接口主要的5种类型_5种常见的住宅建筑结构类型,你真的了解吗?
  2. Linux下Elasticsearch-2.4.0的安装与简单配置(单节点)Head插件安装(已测试)
  3. java实现米和厘米比较好_java如何根据实际经、纬度和已知经、纬度做对比,计算出具体偏差米数。(以米为单位)...
  4. java window的对象方法,[Java教程]如何真正重写window对象的方法_星空网
  5. Android 网格视图GridView
  6. Java基础---认识多态
  7. SpringBoot面试题第一弹
  8. 面向连接的传输TCP(一)
  9. 112. Path Sum
  10. Log--日志变大原因总结