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
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。