Jquery属性的获取/设置及样式添加/删除操作技巧分析


Posted in jQuery onDecember 23, 2019

本文实例讲述了Jquery属性的获取/设置及样式添加/删除操作技巧。分享给大家供大家参考,具体如下:

Jquery属性的获取与设置

//找到第一个input,通过attr设置属性value的值
$("input:first").attr('value','新设值');
//同时为多个属性赋值
$("input:first").attr({'attr1':'v1','attr2':'v2'...});
//找到最后一个input,通过使用removeAttr删除属性
$("input:last").removeAttr('value');

//得到.first-div内的文本,并以此来设置最后一个p内的文本
$('p:last').text( $(".first-div").text() )
//.html() 不传入值,就是获取.first-div类的HTML内容,不仅仅是文本
//.html( htmlString ) 用之前得到的内容来设置第一个p标签的html内容
$('p:first').html( $(".first-div").html() ) ;

//.val()获取表单id为single元素的值
$("p").text( $("#single").val() );
//设置表单text字段内的值
$("input[type='text']").val('修改表单的字段')

.html(),.text(),.val()三种方法都是用来读取选定元素的内容;只不过.html()是用来读取元素的html内容(包括html标签),.text()用来读取元素的纯文本内容,包括其子元素,.val()是用来读取表单元素的"value"值。其中.html()和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。.html(htmlString),.text(textString)和.val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。.html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。

JQuery添加与删除样式

//为class=left下的div元素增加一个新样式
$('.left div').addClass('newClass')

//找到所有的div,然后通过addClass函数增加类名
$("div").addClass(function(index,className) {
 //找到类名中包含imooc的元素,为其添加类名
 if(-1 !== className.indexOf('imooc')){
  $(this).addClass('imoocClass') //this指向匹配元素集合中的当前元素
 }
});

//class=left下div元素删除newClass样式
$('.left div').removeClass('newClass');

//如果该元素存在该类名就去除,否则就添加
$('.left div').toggleClass('newClass');

//获取class=first的字体大小样式值
$('p:eq(1)').text( $('.first').css("font-size"));
//获取一组属性值并返回为一个对象
var value = $('.first').css(['width','height']);
//通过对象访问到对应的值
document.write( "widht:" + value.width + " height:" +value.height) ;
//设置样式属性值
$('.fourth').css("background-color","red");
//设置多个属性值
$('.seventh').css({
 'font-size'  :"15px",
 "background-color" :"#40E0D0"
});

addClass与css两个方法均用于操作页面样式,两者比较。

可维护性:.addClass()的本质是通过定义个class类的样式规则,给元素添加一个或多个类。css方法是通过JavaScript改变元素的样式。通过.addClass()我们可以批量的给相同的元素设置统一规则,变动起来比较方便,可以统一修改删除。如果通过.css()方法就需要指定每一个元素一一修改,比较麻烦。

灵活性:通过.css()方式可以很容易动态的去改变具体一个元素的属性,不需要繁琐的定义一个class类的规则。一般来说在不确定开始布局规则,通过动态生成的HTML代码结构中,都是通过.css()方法处理的。

样式值:.addClass()本质只是针对class的类的增加删除,不能获取到指定样式的属性的值,.css()可以获取到指定的样式值。

样式的优先级:css的样式是有优先级的,当外部样式、内部样式和内联样式同一样式规则同时应用于同一个元素的时候,优先级如下:外部样式 < 内部样式 < 内联样式。

.addClass()方法是通过增加class名的方式,那么这个样式是在外部文件或者内部样式中先定义好的,等到需要的时候在附加到元素上,通过.css()方法处理的是内联样式,直接通过元素的style属性附加到元素上的通过.css方法设置的样式属性优先级要高于.addClass()方法

总结

.addClass与.css方法各有利弊,一般若是静态的结构,且确定了布局的规则,可以用addClass的方法,增加统一类规则。如果是动态的HTML结构,在不确定规则,或者经常变化的情况下,一般多考虑.css()方式

更多关于jQuery相关内容还可查看本站专题:《jQuery操作DOM节点方法总结》、《jQuery遍历算法与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
基于jquery实现二级联动效果
Mar 30 jQuery
jQuery判断邮箱格式对错实例代码讲解
Apr 12 jQuery
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
JQuery判断正整数整理小结
Aug 21 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 #jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 #jQuery
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 #jQuery
基于jQuery实现可编辑的表格
Dec 11 #jQuery
jQuery实现可编辑的表格
Dec 11 #jQuery
jQuery实现验证用户登录
Dec 10 #jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 #jQuery
You might like
简单的用PHP编写的导航条程序
2006/10/09 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
PHP最常用的正则表达式
2017/02/13 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
JS 面向对象之神奇的prototype
2011/02/26 Javascript
小试JQuery的AutoComplete插件
2011/05/04 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
Python 用户登录验证的小例子
2013/03/06 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
python实现二叉树的遍历
2017/12/11 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
python中sys模块是做什么用的
2020/08/16 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
python help函数实例用法
2020/12/06 Python
cf收人广告词大全
2014/03/14 职场文书
优秀教师演讲稿
2014/05/06 职场文书
社区先进事迹材料
2014/05/19 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
工作表扬信
2015/01/17 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis