jQuery基础---样式篇
初识jQuery
一个JavaScript库,Write Less Do More
Hello World
//引入jQuery库
$(document).ready(function(){
$("div").html("你好,这是一个jQuery的程序名为Hello World!!!");
});
jQuery对象与DOM对象
在元素获取方面,jQuery要比传统DOM方便的多,例子如下:
//获取id的两种不同操作
<p id=”demo”></p>
<script>
//javascript方法
var p = document.getElementById('demo');
p.innerHTML = '您好!这是JavaScript获取节点';
p.style.color = 'red';
</script>
<script>
//jQuery方法
var $p = $('#imooc');
$p.html('您好!通过这是通过jQuery获取节点').css('color','red');
</script>
jQuery选择器
//基础选择器
$("#id") ---id选择器
$(".class")---类选择器
$("element")--元素选择器
$("*") ---全选择器
层级选择器
筛选选择器
内容选择器
属性筛选选择器
子元素筛选选择器
表单选择器
this选择器
在JavaScript中,this是JavaScript的关键字,指向方法/属性的所有者。
var demo = {
name:帅哥,
getName:function(){
getName:function(){
//this,就是demo对象
return this.name;
}
}
demo.getName();//帅哥
//下面是一组对比
//js
p.addEventListener('click',function(){
//this === p
//以下两者的修改都是等价的
this.style.color = "red";
p.style.color = "red";
},false);
//jquery
$('#test2').click(function(){
//通过包装成jQuery对象改变颜色
$(this).css('color','blue');
})
属性与样式
.attr()与.removeAttr()
jQuery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr()
attr()有4个表达式
attr(传入属性名):获取属性的值
attr(属性名, 属性值):设置属性的值
attr(属性名,函数值):设置属性的函数值
attr(attributes):给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }
removeAttr()删除方法
.removeAttr( attributeName ) : 为匹配的元素集合中的每个元素中移除一个属性(attribute)
html()、text()、val()
html()方法
获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容,具体有3种用法:
- .html() 不传入值,就是获取集合中第一个匹配元素的HTML内容
- .html( htmlString ) 设置每一个匹配元素的html内容
- .html( function(index, oldhtml) ) 用来返回设置HTML内容的一个函数
.text()方法
得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。,具体有3种用法:
- .text() 得到匹配元素集合中每个元素的合并文本,包括他们的后代
- .text( textString ) 用于设置匹配元素内容的文本
- .text( function(index, text) ) 用来返回设置文本内容的一个函数
.val()方法
- val()无参数,获取匹配的元素集合中第一个元素的当前值
- .val( value ),设置匹配的元素集合中每个元素的值
- .val( function ) ,一个用来返回设置值的函数
1. .html(),.text(),.val()三种方法都是用来读取选定元素的内容;只不过.html()是用来读取元素的html内容(包括html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值。其中.html()和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。
2. .html(htmlString),.text(textString)和.val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。
3. .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。
.addClass(className)、removeClass()、.toggleClass()
添加样式
.addClass( className ) : 为每个匹配元素所要增加的一个或多个样式名
.addClass( function(index, currentClass) ) : 这个函数返回一个或更多用空格隔开的要增加的样式名
移除样式
1. .removeClass( [className ] ):每个匹配元素移除的一个或多个用空格隔开的样式名
2. .removeClass( function(index, class) ) : 一个函数,返回一个或多个将要被移除的样式名
切换样式
1. .toggleClass(
)方法:在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类
2. .toggleClass( className ):在匹配的元素集合中的每个元素上用来切换的一个或多个(用空格隔开)样式类名
3. .toggleClass( className, switch ):一个布尔值,用于判断样式是否应该被添加或移除
4. .toggleClass( [switch ] ):一个用来判断样式类添加还是移除的 布尔值
5. .toggleClass( function(index, class, switch) [, switch ]):用来返回在匹配的元素集合中的每个元素上用来切换的样式类名的一个函数。接收元素的索引位置和元素旧的样式类作为参数
.css、.addClass()
.css() 方法:获取元素样式属性的计算值或者设置元素的CSS属性
获取:
1. .css( propertyName ) :获取匹配元素集合中的第一个元素的样式属性的计算值
2. .css( propertyNames ):传递一组数组,返回一个对象结果
设置:
3. .css(propertyName, value ):设置CSS
4. .css( propertyName, function ):可以传入一个回调函数,返回取到对应的值进行处理
5. .css( properties ):可以传一个对象,同时设置多个样式
6. .addClass()方法是通过增加class名的方式,那么这个样式是在外部文件或者内部样式中先定义好的,等到需要的时候在附加到元素上
7. 通过.css()方法处理的是内联样式,直接通过元素的style属性附加到元素上的