JQuery干货篇之处理元素
注意这里用的还是我前两篇用的例子,详情请看我的博客
attr
attr()
方法设置或返回被选元素的属性值。语法:
$(selector).attr(attribute)
返回被选元素的属性值。
$(selector).attr(attribute,value)
设置被选元素的属性和值
$(selector).attr(attribute,function(index,oldvalue))
设置被选元素的属性和值。
参数 描述 attribute
规定属性的名称。 function(index,oldvalue)
规定返回属性值的数。该函数可接收并使用选择器的 index 值和当前属性值。 实例:
$("img").filter(":first").attr('src'); //得到属性
$("img").each(function (index,elem) {
if(index%2==0)
$(elem).attr("src",'lily.png'); //设置属性
console.log($(elem).attr("src"));
})
$("img").attr('src',function (index,oldValue) { //这里的oldValue表示原来属性的值,index是索引
if(oldValue=="rose.png")
return 'lily.png';
else
return 'astor.png';
})
attrs={ //使用映射对象一次设置多个值
src:'lily.png',
style: 'border: thick double red'
};
$("img:eq(1)").attr(attrs);
removeAttr
removeAttr()
方法从被选元素中移除属性。语法:
$(selector).removeAttr(attribute)
这里的attribute是属性的名字实例:
$("img:first").removeAttr("src"); //删除属性src
addClass
addClass()
方法向被选元素添加一个或多个类语法:
$(selector).addClass(class)
这里的class是类名如果需要添加多个类,中间用空格隔开
$(selector).addClass(function(index,oldclass))
这里的index是索引,oldClass是原来就有的类名,都是可选参数。这个函数的返回的就是要添加的类名实例:
$("img:even").addClass("redBar"); //向偶数的img添加类redBar
$("img").addClass(function (index,currentClass) { //这里的currentClass就是原来有的类名,可选
if(index==1)
return 'blueBar'; //第二个img应用blueBar这个类
else
return 'redBar'; //这里需要注意的是,对同一个img应用类的时候,因为这个类的定义有优先级,上面定义会被后面定义的覆盖,所以要注意类定义的位置
})
$("img").filter(":odd").addClass("redBar").end().filter(":even").addClass("blueBar"); //链式调用
$("img").addClass("blueBar redBar"); //添加两个类
hasClass
hasClass()
方法检查被选元素是否包含指定的class
语法:
$(selector).hasClass(class)
//返回值是false和true实例:
console.log($("img:odd").hasClass("redBar"));
toggleClass
toggleClass() 对设置或移除被选元素的一个或多个类进行切换。该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果
语法:
$(selector).toggleClass(class,switch)
class
必需的,用来规定添加或移除class
的指定元素,如需规定若干class
,请使用空格来分隔类名。switch
是boolean
可选参数,规定是否添加或移除class
$(selector).toggleClass(function(index,class),switch)
index
表示索引,class
表示选择器当前拥有的类实例:
$("img").toggleClass("redBar"); //这里对所有的img在redBar这个类之间切换
$("img").toggleClass("redBar blueBar"); //在两个类之间来回的切换
$("<button>ToggleClass</button>").appendTo("#buttonDiv").click(function (e) {
$("img").toggleClass('redBar blueBar'); //在两种class之间切换,如果有就删除,没有的就添加
e.preventDefault();
})
//下面添加一个按钮,完成同时添加多个图片的效果
$("<button>ToggleClass</button>").appendTo("#buttonDiv").click(function (e) {
$("img").toggleClass(function (index,currentClass) {
if(index%2==0)
return 'blueBar'; //动态的切换,这里是偶数就切换blue
else
return 'redBar blueBar'; //这里是奇数的图片在两种颜色来回的切换
});
e.preventDefault();
})
css
css()
方法返回或设置匹配的元素的一个或多个样式属性,这里只说css
,还有其他的设置css
样式请看w3School语法:
$(selector).css(name)
返回第一个匹配元素的CSS
属性值。name
是css
属性的名称
$(selector).css(name,value)
设置所有匹配元素的指定CSS
属性。name
表示属性名称,value
表示属性的值
$(selector).css(name,function(index,value))
此函数返回要设置的属性值。接受两个参数,index
为元素在对象集合中的索引位置,value
是原先的属性值。name
表示要设置的属性名称,返回值就是要设置的属性值实例:
$("label").css('font-size','30px'); //设置字体大小
$("label").css('font-size','+=10'); //使用相对值设置属性值,在原有的基础上加上10
console.log($("h1").css('font-family')); //获取h1标签的字体
var cssValues={
'border':'thick double red',
'font-size':'1.5em'
};
$("label").css(cssValues); //同时设置多个属性
text
text()
方法方法设置或返回被选元素的文本内容。当该方法用于返回一个值时,它会返回所有匹配元素的组合的文本内容(会删除HTML
标记)语法:
$(selector).text()
当该方法用于返回一个值时,它会返回所有匹配元素的组合的文本内容(会删除HTML
标记)。
$(selector).text(content)
当该方法用于设置值时,它会覆盖被选元素的所有内容。
$(selector).text(function(index,oldcontent))
index
表示索引,oldcontent
表示选择器当前的文本内容
html
html()
方法返回或设置被选元素的内容(inner HTML)
。如果该方法未设置参数,则返回被选元素的当前内容。语法:
$(selector).html()
当使用该方法返回一个值时,它会返回第一个匹配元素的内容。
$(selector).html(content)
当使用该方法设置一个值时,它会覆盖所有匹配元素的内容。
$(selector).html(function(index,oldcontent))
使用函数来设置所有匹配元素的内容。index
- 可选。接收选择器的index
位置,oldcontent
- 可选。接收选择器的当前内容
val
val()
方法返回或设置被选元素的值,元素的值是通过value
属性设置的。该方法大多用于input
元素,如果该方法未设置参数,则返回被选元素的当前值语法:
$(selector).val(value)
设置文本域的值为value
$(selector).val()
得到文本域的值
$(selector).val(function(index,oldvalue))
设置文本域的值,这里函数的返回值将会用来设置文本域的值,index
表示元素索引,oldvalue
表示选择器当前文本域的值