jQuery基本操作

一、属性操作

方法描述
attr(name/pro/key,val/fn)获取或设置元素的属性
removeAttr(name)删除元素的某一个属性
prop(name/pro/key,val/fn)获取或设置元素的一个或多个属性
removeProp(name)删除由prop()方法设置的属性集

当元素尚需经(如checked、selected和disabled等)取值为true或false时,通过prop()方法对属性进行操作,而其它普通属性通过attr()方法操作。

1、attr()方法

attr()方法用于获取所匹配元素的集合中的第一个元素的属性,或设置所匹配元素的一个或多个属性:

【语法】

attr(name)
attr(properties)
attr(key,value)
attr(key.function(index,oldAttr))

其中:

  • 参数name表示元素的属性名;
  • 参数properties是一个由key/value键值对构成的集合,用于设置元素中的1~n个属性;
  • 参数key表示需要设置的属性名,参数value表示需要设置的属性值;
  • 参数function(index,oldAttr)表示使用函数的返回值作为属性的值,index表示当前元素在集合中的索引位置,oldAttr表示当前元素在修改之前的属性值

【示例】

	$("img").attr("src");			//用于返回<img>集合中第一个图像的src属性值
	$("#myImage").attr("src");		//返回ID为myImage图像的src属性值
	$("#myImage").attr("src","images/flower2.png");		//设置myImage的src属性
	//通过properties(名/值对)的方式设置图像的属性
	$("#myImage").attr({src:"images/flower2.png",title:"鲜花"});
	//使用函数的返回值作为属性值
	$("myImage").attr("title",function(){return this.src;});
2、removeAttr()方法

removeAttr()方法用于删除匹配元素的指定属性:

【语法】

removeAttr(name)

其中name表示需要删除的属性名。

【示例】

	$("img").removeAttr("title")			//删除所有的img的title属性
3、prop()方法

prop()方法用于用于获取所匹配元素的集合中的第一个元素的属性,或这只所匹配元素的一个或多个属性。prop()方法多用于boolean类型属性操作:

【语法】

prop(name)
prop(properties)
prop(key,value)
prop(key.function(index,oldAttr))

其中:

  • 参数name表示元素的属性名;
  • 参数properties是一个由key/value键值对构成的集合,用于设置元素中的1~n个属性;
  • 参数key表示需要设置的属性名,参数value表示需要设置的属性值;
  • 参数function(index,oldAttr)表示使用函数的返回值作为属性的值,index表示当前元素在集合中的索引位置,oldAttr表示当前元素在修改之前的属性值

【示例】

	$("input[type='checkbox']").porp("checked");			//返回第一个复选框的状态
	$("input[type='checkbox']").prop("checked",true);		//将所有复选框选中
	//通过properties(名/值对)的方式,将所有复选框设为禁用、选中状态
	$("input[type='checkbox']").prop({disabled:true,checked:true});
	//使用函数返回值作为属性值,对所有复选框进行反选
	$("input[type='checkbox']").prop("checked",function(index,oldValue){return !oldValue;})
4、removeProp()方法

removeProp()方法用于删除由prop()方法设置的属性集:

【语法】

removeProp(name)

其中name表示需要删除的属性名。

【示例】

	$("input[type='checkbox']").removeProp("disabled")			//所有复选框设为可用状态

二、样式操作

在HTML代码中,通过class属性指定HTML标签的样式名;在jQuery中,可以使用attr()方法操作元素的class属性,以获取或改变元素的样式。
【示例】

	$("#myDiv").attr("class");				//返回myDiv的class属性
	$("#myDiv").attr("class","newClass");	//设置myDiv的class属性值,如果存在则替换
1、addClass()方法

addClass()方法用于对一个或多个匹配元素追加样式:

【语法】

addClass(className)
addClass(className1 className2 … classNameN)
addClass(function(index,oldClassName))

其中:

  • 参数className表示需要追加的样式名;
  • 参数className1、className2、··· 、classNameN表示可以同时追加多个样式,样式名之间使用空格隔开;
  • 参数function(indx,oldClassName)表示使用函数的返回值作为当前位置德阳市,index表示当前元素在集合中的索引值,oldClassName表示当前元素在修改之前的样式名。

【示例】

	//追加baseClass样式
	$("p[title='desc']").addClass("baseClass");
	//追加baseClass和fontColor样式
	$("p[title='desc']").addClass("baseClass fontColor")
2、removeClass()方法

removeClass()方法用于移除匹配元素的一个或多个样式,也可以一次性移除元素的所有样式:

【语法】

removeClass()
removeClass(classname)
removeClass(classname1 classname2 … classnameN)

其中:

  • 无参方法用于移除匹配元素的所有样式;
  • 参数className表示需要移除的样式名;
  • 参数className1、className2、… 、classNameN表示同时移除多个样式,样式名之间使用空格隔开。

【示例】

	$("p").removeClass();						//移除所有样式
	$("p").removeClass("baseClass");			//移除baseClass样式
	$("p").removeClass("baseClass fontColor");	//移除baseClass和fontColor样式
3、toggleClass()方法

toggleClass()方法用于元素样式之间的重复切换,当元素的指定样式存在时,将该样式移除,否则添加该样式。

【语法】

toggleClass(className)
toggleClass(className,switch)

其中:

  • 参数className表示需要切换的样式名;
  • 参数switch表示切换样式开关,默认为true,当switch为true时允许样式切换,否则不允许。

【示例】

	//ID为userName的元素添加样式,如果存在focusClass样式则移除,没有则添加该样式
	$("#userName").toggleClass("focusClass");
	//第二个参数为真,样式切换为inverseColor
	$("#userName").toggleClass("inverseColor",true);
4、css()方法

在jQuery1.9+中新增了css()方法,用于返回第一个匹配元素的css样式,或设置所有匹配元素的样式。

【语法】

css(attrName)
css(key,value)
css(properties)
css(attrName,function(index,oldValue))

其中:

  • 参数attrName表示要访问的属性名称;
  • 参数key,value用于设置元素的某一样式,key表示属性名,value表示属性值;
  • 参数properties用于设置元素的某些样式,为Map类型的键值对所构成的集合;
  • 参数function(index,oldValue)表示使用函数的返回值作为当前元素的属性值,index表示当前元素在集合中的索引位置,oldValue表示当前元素在修改之前的属性值

【示例】

	//一个参数时,用于返回第一个匹配元素的样式
	$("img").css("width");
	//多个参数时,用于设置匹配元素的样式
	$("img").css("width","200px");
	//使用properties(键值对)的方式一次设置多个样式
	$("img").css({backgroundColor:"#ccc",borderColor:"#999"});
	//使用函数的返回值作为css()方法的value值
	$("img").css({
		width:function(){
			return parseFloat(value)*0.9;
		}
	});

三、内容操作

在jQuery中,提供了html()方法和text()方法用于操作页面元素的内容,val()方法用于操作表单元素的值。

1、html()方法

html()方法用于获取第一个匹配元素的HTML内容或修改匹配元素的内容,该方法仅对XHTML文档有效,不能用于XML文档。

【语法】

html()
html(htmlCode)
html(function(insex,oldHtmlCode))

其中:

  • 无参方法用于返回第一个匹配元素的HTML内容;
  • 有参方法用于设定匹配元素的文本内容;
  • 参数htmlCode表示将所匹配元素的HTML内容设置为htmlCode ;
  • 参数function(index,oldHtmlCode)表示将函数的返回值作为当前元素的HTML内容,index表示当前元素在集合中的索引位置,oldHtmlCode表示当前元素在修改之前的HTML内容。

【示例】

	//返回mainContentDiv标签的HTML内容
	$("#mainContentDiv").html();
	//设置#mainContentDiv标签的HTML内容为红色标题格式的"漫步时尚广场"
	$("#mainContentDiv").html("<h1><font color='red'>漫步时尚广场</font></h1>")
	//根据元素在集合中的不同位置,设定不同的HTML内容
	$("p").html(function(index,htmlCode){
		switch(index){
			case 0:
				return "<h1>" + htmlCode + "</h1>";
			case 1:
				return "<h2>" + htmlCode + "</h2>";
		}
	);
2、text()方法

text()方法用于读取或设置匹配元素的文本内容,与html()方法区别在于,text()方法返回纯文本内容,适用于XHTML和XML文档。

【语法】

text()
text(textContent)
text(function(index,oldTextContent))

其中:

  • 无参方法用于返回第一个匹配元素的文本内容;
  • 有参方法用于设定匹配元素的文本内容;
  • 参数textContent表示将所匹配元素的文本内容设置为textContent;
  • 参数function(index,oldTextContent)表示将函数的返回值作为当前元素的文本内容,index表示当前元素在集合中的索引位置,oldTextContent表示当前元素在修改之前的文本内容。

【示例】

	//返回mainContentDiv标签的文本内容,即使该标签包含HTML标签,返回的内容也仅仅是纯文本内容
	$("#mainContentDiv").text();
	//将InputDiscuss输入内容作为newDiscuss的文本内容
	$("#newDiscuss").text("<hr/>评论如下:" + $("#inputDiscuss").val() + "<hr/>");
3、val()方法

val()方法用于设置或获取表单元素的值,包括文本框、下拉列表、单选框和复选框等元素。当元素允许多选时,返回一个包含被选项的数组。

【语法】

val()
val(newValue)
val(arrayValue)
val(function(indx,oldValue))

其中:

  • 无参方法用于返回所匹配的表单元素的value值;
  • 有参方法用于设定所匹配的表单元素的value值;
  • 参数newValue表示将所匹配的表单元素的value值设置为newValue;
  • 参数arrayValue用于设置多选表单元素(如check和select等)的选中状态;
  • 参数function(index,oldValue)表示将函数的返回值赋给当前匹配的表单元素,index表示当前元素在匹配集合中的索引位置,oldValue表示当前元素在修改之前的value值。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值