JQuery样式与属性设置方法分析


Posted in jQuery onDecember 07, 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 相关文章推荐
jQuery+pjax简单示例汇总
Apr 21 jQuery
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
jQuery+ajax实现局部刷新的两种方法
Jun 08 jQuery
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
Jquery动态列功能完整实例
Aug 30 jQuery
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 #jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 #jQuery
jQuery轮播图功能制作方法详解
Dec 03 #jQuery
jQuery实现弹幕特效
Nov 29 #jQuery
jquery实现直播弹幕效果
Nov 28 #jQuery
jQuery实现简单弹幕效果
Nov 28 #jQuery
jQuery实现轮播图效果
Nov 26 #jQuery
You might like
PHP 实用代码收集
2010/01/22 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
php分页函数完整实例代码
2014/09/22 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
img标签中onerror用法
2009/08/13 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
好的自荐信的要求
2013/10/30 职场文书
房地产财务管理制度
2014/02/02 职场文书
作文评语大全
2014/04/23 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
中学推普周活动总结
2015/05/07 职场文书