JQ遇到$(‘.xxx’).attr(‘display’)一直返回undefined
jq attr && jq css
1.1 attr() 方法设置或返回被选元素的属性值
我们就题目遇到的问题做一个测试
//html
<div class="div1" name="oDiv"></div>
//js
console.log('attr-display =======>', $('.div1').attr('display'));
console.log('attr-name =======>', $('.div1').attr('name'));
猜一下结果?
attr-display =======> undefined
attr-name =======> oDiv
注意要把script放在html后,或者加上
$(function(){}))
可以看到css样式display为undefined,而标签属性name却拿到了值。 从而可以解释,$.attr()封装了原生attribute.只能获取/改变属性值,如果需要获取/改变样式:
- 利用attr()改变class的值
- 利用css()改变样式
1.2 css() 方法返回或设置匹配的元素的一个或多个样式属性
还是看一下例子
console.log('css-display =======>', $('.div1').css('display'));
console.log('css-name =======>', $('.div1').css('name'));
返回结果 ⬇
css-display =======> block
css-name =======> undefined
总结来说,就是:获取属性用attr,获取样式用css
具体哪些元素是attribute,哪些是style.
可以根据经验简单判断: 存在于标签的就是标签属性,存在于stles的就是样式属性
如果想看具体的,可以打开控制台: Elements => 右侧面板:Properties => 查看相应元素的attributes和styles
attributes:

styles:

除了attributes和css 你还需要额外了解property
具体可以查看我这篇文章:《详解JS中DOM 元素的 attribute 和 property 属性》
JQ遇到$(‘.xxx’).attr(‘display’)一直返回undefined的更多相关文章
- 解决checkbox的attr(checked)一直为undefined问题
		需要做个一个全选的checkbox功能,遇到checkbox的attr("checked")一直为undefined,下面与大家分享下最终的解决方案 最近本屌丝应项目开发需求, ... 
- jQ中对attr()方法的理解
		在JS中设置节点的属性与属性值用到setAttribute(),获得节点的属性与属性值用到getAttribute(),而在jquery中,用一个attr()就可以全部搞定了,赞一个先 ^^jquer ... 
- V8 的 typeof null 返回 "undefined" 的 bug 是怎么回事
		1997 年,IE 4.0 发布,带来的众多新特性中有一个对未来“影响深远”的 DOM API:document.all.在随后的 6 年里,IE 的市场占有率越来越高,直到 2003 年的 95%. ... 
- mongoose .find().limit()返回undefined
		当我们使用mongoose的find方法查询数据库的同时,可以使用limit方法来指定返回数据的条数. limit方法基本语法如下所示: >db.COLLECTION_NAME.find().l ... 
- jq中的attr和prop属性
		今天在做checkbox的全选等功能时刚开始用的是 $('input[type='checkbox']").attr("checked","true" ... 
- jq源码立即执行函数的undefined参数
		函数参数是undefined,那这个undefined是个变量标识符还是值呢? <JS权威指南>函数一章讲过,未给函数形参传值的时候,该形参的值是undefined.所以形参undefin ... 
- 创建django的8大步骤xxx.setAttribute('name', 'user'); 添加属性和值  xxx.attr('name') 查看属性的值  $(xxx).addClass 添加样式 $().after() 添加在标签后面
		第一步.创建django 方法一:django-admin startproject 方法二: 直接在python上创建 第二步:创建工程名cmdb python manage.py startapp ... 
- PHP IE9  AJAX  success 返回 undefined 问题解决
		jquery的AJAX返回结果为undefined,并且有“由于出现错误c00ce56e”的错误提示.这个问题是由于IE9不能解析其他编码而产生的.解决这个问题之需要按照W3C规范,声明一下编码为ut ... 
- 求助,JS 方法调用的问题,写了返回值,确调用时返回Undefined(新人第一次写)
		文本框txtUserName 的Onbulr 绑定方法 txtUserNameOnblur 这可以正常执行 而下面的btnRegister 的click 事件则无法正常调用 txtUserNa ... 
随机推荐
- XWIKI部署安装
			http://www.linuxidc.com/Linux/2016-08/134408.htm 
- centos 安装MySQL全过程
			1.到chinaunix下载mysql 下载地址: http://download.chinaunix.net/download/0008000/7159.shtml 2.上传到CentOS服务器 本 ... 
- sql注入(转载)
			1.使用firefox浏览器(安装一个firebug插件)登录http://192.168.204.132/dvwa/login.php页面,使用admin/password 2.打开firebug工 ... 
- jt项目菜单页面实现
			jt项目菜单页面实现 一. 业务描述: 1) 数据呈现时使用bootstrap中的treeGrid插件(基于jquery实现). bootstrap特点:简洁.直观.强悍.移动设备优先的前端开发框架, ... 
- 一线互联网常见的 14 个 Java 面试题,你颤抖了吗程序员
			跳槽不算频繁,但参加过不少面试(电话面试.face to face 面试),面过大 / 小公司.互联网 / 传统软件公司,面糊过(眼高手低,缺乏实战经验,挂掉),也面过人,所幸未因失败而气馁,在此过程 ... 
- Python进阶【第七篇】文件处理
			一.文件操作 在Python中,文件读写是最常见的操作.对文件的操作为: #1. 打开文件,得到文件句柄并赋值给一个变量 f=open('a.txt','r',encoding='utf-8') #默 ... 
- puts函数
			1.puts函数是gets函数的输出版本,它把指定的字符串写到标准输出并在末尾添加一个换行符 #include <stdio.h> #include <stdlib.h> in ... 
- Python调用大漠插件
			Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.client dm = win32com.client.Dispatch( ... 
- oracle 11g AUTO_SAMPLE_SIZE动态采用工作机制
			Note that if you're interested in learning about Oracle Database 12c, there's an updated version of ... 
- python简说(二)list
			一.list # 1.list 列表 数组a = ['A', 'B', 'C', 'D']# 0 1 2# 2.空list# a = []# a = list()# 3.下标 角标 索引# print ... 
