JQuery操作属性、样式、内容和遍历等操作
一、操作属性
- 
属性分类 - 
固有属性 href、src..... 
- 
共有属性 id,class,name...... 
- 
自定义属性 abc= '1234' 
 
- 
- 
操作属性的方法 - 
区别 1.prop不能操作自定义属性 2.prop获取Boolean类型的属性是 true/false 
- 
获取属性值 attr(属性名称) 操作 checkbox 时, 获取指定的属性值,选中返回 checked,没有选中返回 undefined op(属性名称) 获取具有true和false两个属性的属性值 
- 
设置属性值 attr(属性名称,属性值); prop(属性名称,属性值); 
- 
移除属性 removeAttr("属性") 
 
- 
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<form action="" id="myform">
			<input type="checkbox" id="ch1" name="ch1" abc='123' checked="checked"/>	aa
			<input type="checkbox" id="ch2" name="ch2" abc='456'/>	bb
		</form>
		<script type="text/javascript">
			var ch1 =  $("#ch1");
			var ch2 =  $("#ch2");
			
			//获取固有属性
			console.log(ch1.attr('type'));
			console.log(ch1.prop('type'));
			
			//获取共有属性
			console.log(ch1.attr('name'));
			console.log(ch2.prop('name'));
			
			//获取自定义属性   prop不能操作自定义属性
			console.log(ch1.attr('abc'));
			console.log(ch2.prop('abc'));//undefined
			
			//获取boolean类型的属性
			console.log(ch1.attr('checked'));//checked
			console.log(ch1.prop('checked'));//true
			
			//设置boolean类型属性
			ch1.attr("checked",0);
			ch2.attr("checked","checked");
			//效果相同
			ch1.prop("checked",false);
			ch2.prop("checked",true);
			
			//设置自定义属性
			ch1.attr("abc",'999');
			//prop不能操作自定义属性
			ch2.prop("abc",'999'); //---设置无效
			
			//设置共有属性
			ch1.attr("name",'ab1');
			ch2.prop("name",'ab1'); 
			
			//移除属性
			ch1.removeAttr("checked");//boolen类型
			ch1.removeAttr("abc");//自定义属性
			ch1.removeAttr("name");//共有属性
			ch1.removeAttr("type");//独有属性 
		</script>
	</body>
</html>
二、操作样式
- attr(“class”) 获取class属性的值,即样式名称
- attr(“class”,”样式名”) 修改class属性的值,修改样式
- addClass(“样式名”) 添加样式名称
- css() 添加具体的样式 相当于直接设置行内style
- removeClass(class) 移除样式名称
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			div{
				padding: 8px;
				width: 180px;
			}
			.blue{
				background: blue;
			}
			.larger{
				font-size: 30px;
			}
			.green {
				background : green;
			}
		</style>
	</head>
	<body>
		<h3>css()方法设置元素样式</h3>
		<div id="conBlue" class="blue larger">天蓝色</div>
		<div id="conRed">大红色</div>
		<div id="remove" class="blue larger">天蓝色</div>
		
		<script type="text/javascript">
			//获取class属性的值,即样式名称
			var clas = $("#conBlue").attr("class");
			console.log(clas);
			
			//修改class属性的值,修改样式
			$("#conBlue").attr("class","green");//把字体的大小样式和颜色均覆盖
			
			//addClass(“样式名”)		添加样式名称
			$("#conRed").addClass("larger");
			
			//css()
			$("#conRed").css("color","red");
			
			//removeClass(class)				移除样式名称
			$("#remove").removeClass("larger");
		</script>
	</body>
</html>
三、操作元素内容
- 
html() 获取或设置元素的内容,包含html内容 可以识别纯文本内容 取值:html() 赋值:html("html,内容") 
- 
text() 获取或设置元素的内容,不包含html内容 只能识别纯文本内容 取值:text() 赋值:text("html,内容") 
- 
val() 获取或设置元素的值 取值:val() 赋值:val(‘值’) 
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<h3><span>html()和text()方法设置元素内容</span></h3>
		<div id="html"></div>
		<div id="text"></div>
		<input type="text" name="uname" value="oop" />
		
		<script type="text/javascript">
			//获取元素的内容
			var ht = $("h3").html();
			var te = $("h3").text();
			console.log(ht);
			console.log(te);
			
			//设置元素内容
			$("#html").html("<b>加粗效果</b>");
			$("#text").text("<b>text加粗效果</b>");
			
			//val()	获取元素值
			var input = $('[type="text"]').val();
			console.log(input);
			//val() 设置元素值
			$('[type="text"]').val("jquery");
		</script>
	</body>
</html>
四、创建和添加元素
- 
prepend(content) 在被选元素内部的开头插入元素或内容,被追加的 content 参数,可以是字符、HTML 元素标记。 
- 
$(content).prependTo(selector) 把 content 元素或内容加入 selector 元素开头 
- 
append(content) 在被选元素内部的结尾插入元素或内容,被追加的 content 参数,可以是字符、HTML 元素标记。 
- 
$(content).appendTo(selector) 把 content元素或内容插入selector 元素内,默认是在尾部 
- 
before() 
在元素前插入指定的元素或内容:$(selector).before(content)
- 
after() 在元素后插入指定的元素或内容:$(selector).after(content) 
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			div	{
				margin: 10px 0px;
			}
			span{
				color: white;
				padding: 8px
			}
			.red{
				background-color: red;
			}
			.blue{
				background-color: blue;
			}
			.green{
				background-color: green;
			}
		</style>
	</head>
	<body>
		<span class="red">男神</span>
		<span class="blue">偶像</span>
		<div class="green">
			 <span >小鲜肉</span>
		</div> 
		 
		<script type="text/javascript">
			//创建元素
			var newP = $("<span>段落标签</span>");
			console.log(newP);
			
			//添加元素  prepend(content)  内部前追加
			//获取参考位置的元素
			var str = "<span>PDD</span>";
			$('.green').prepend(newP);
			$('.green').prepend(str);	
			//prependTo();  被内部前追加
			var str2 = "<span>麻辣香锅</span>";
			$(str2).prependTo($(".green"));
			
			
			//append()  内部后追加
			$('.green').append("<span >周杰伦</span>");
			//appendTo(); 被内部后追加
			$("<span >林俊杰</span>").appendTo($('.green'));
			
			//before  同级前追加
			$(".red").before("<span style='color:black'>薛之谦</span>");
			//after   同级后追加
			$(".blue").after("<span style='color:black'>李荣浩</span>");
		</script>
	</body>
</html>
五、删除元素
- 
remove() 删除所选元素或指定的子元素,包括整个标签和内容一起删 
- 
empty() 清空所选元素的内容 
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			span{
				color: white;
				padding: 8px;
				margin: 5px;
				float: left;
			}
			.green{
				background-color: green;
			}
			.blue{
				background-color: blue;
			}
		</style>
	</head>
	<body>
		<h3>删除元素</h3>
		<span class="green">jquery<a>删除</a></span>
		<span class="blue">javase</span>
		<span class="green">http协议</span>
		<span class="blue">servlet</span>
		
		<script type="text/javascript">
			//删除
			 //$(".green").remove();
			//清空
			 $(".green").empty();
		</script>
	</body>
</html>
六、遍历元素
- 
格式: $("值").each(function(index,element){ }); 
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<style type="text/css">
			span{
				color: white;
				padding: 8px;
				margin: 5px;
				float: left;
			}
			.green{
				background-color: green;
			}
			.blue{
				background-color: blue;
			}
		</style>
		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
		
		<h3>遍历元素 each()</h3>
		<span class="green">jquery</span>
		<span class="green">javase</span>
		<span class="green">http协议</span>
		<span class="green">servlet</span>
		
		<script type="text/javascript">
			$(".green").each(function(index,ele){
				//当前元素的索引位置
				console.log(index);
				//获取当前 dom 对象
				console.log(ele);
				console.log(this);
				
				//统一设置样式需要用jquery对象
				$(ele).attr("class","blue");
			});
		</script>
	</body>
</html>
本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/15850453.html
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。
 
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号