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 ...
随机推荐
- 安装指定版本capistrano
1.ruby安装 #yum install -y openssl-devel readline-devel zlib-devel git #git clone https://github.com/s ...
- Different between MB SD Connect Compact 5 and MB SD C4 Star Diagnostic Tool
MB SD C4 Star Diagnostic Tool is the professional MB Star Diagnostic Tools for benz cars and trucks. ...
- Django框架----Form组件补充
一.Form类 创建Form类时,主要涉及到 [字段] 和 [插件],字段用于对用户请求数据的验证,插件用于自动生成HTML; 1.Django内置字段如下: 1 Field 2 required=T ...
- 传统OGG与Microservice Architecture OGG的通信
针对当前新出的ogg microservice architect(MA),现在只支持oracle 11g/12c的数据复制和投递.如果有其它版本的oracle或其它数据库,比如 mysql, db2 ...
- 求N!的二进制表示中最低位1的位置。(编程之美)
要求的是N!的二进制表示中最低位1的位置.给定一个整数N,求N!二进制表示的最低位1在第几位?例如:给定N = 3,N!= 6,那么N!的二进制表示(1 010)的最低位1在第二位. 为了得到更好的解 ...
- 计算概论(A)/基础编程练习2(8题)/5:点和正方形的关系
#include<stdio.h> #include<math.h> int main() { // 输入坐标 float x, y; while(scanf("%f ...
- shell expr match
expr match "$pwrdm_stat" ".*,\($pwr_state:[0-9]*\)" 不理解 从字符串开始的位置匹配子串的长度 expr ...
- ManyToManyField 增加记录
class BOMView(View): def get(self,request): obj=BOMForm() return render(request,'bom.html',{'obj':ob ...
- Ubuntu 18.04.1更改屏幕分辨率
- bzoj 2091 The Minima Game - 动态规划 - 博弈论
题目传送门 需要验证权限的传送门 题目大意 Alice和Bob轮流取$n$个正整数,Alice先进行操作.每次每人可以取任意多的数,得分是这一次取的所有数中的最小值.Alice和Bob都足够聪明,他们 ...