Jquery是流行已久的前端开发中必须掌握的框架(程序库)。
在前端开发中,常见操作无非就是选择对象和操作对象,JQuery提供了相当便利的语法。
1、dom对象、JQuery对象
dom对象:通过JavaScript获取的对象,无返回null。
JQuery对象:通过JQuery获取的对象,无则返回空。
2、dom对象和JQuery对象的转换
dom对象转JQuery对象
var checkboxArray=document.getElementsByName("motto");//dom对象
// var jqueryMotto=jQuery(checkboxArray);//转换为JQuery对象
JQuery对象转dom对象
var jqueryMotto=$(checkboxArray);JQuery对象
//⑴、将JQuery对象转换为dom对象
var checkbox000=jqueryMotto[0];
//⑵、通过遍历将JQuery对象转换为dom对象
$(jqueryMotto).each(function(){
if(this.id=='demo1'){ this.checked="checked"; }
});
//⑶、通过for循环将JQuery对象转换为dom对象
for(var i=0;i<jqueryMotto.length;i++){
if(i==3){ jqueryMotto[i].checked="checked"; }
}
3、选择
//⑴基础选择
$("#demo4").prop("checked",true);//通过id选择,如果有多个同名ID则选择第一个
$(".rowTitleColorSet").css("color","#d70008");//通过类名进行选择
$("span").css("color","#cccccc");//通过标签进行选择
$("input[type=radio]")[0].checked=true;//通过元素名进行选择
console.log( $(":radio,:checkbox,#radio5A") ) ;//组合选择(共16个),多的不重复累加,相当于交集
//⑵层次选择
console.log($("#txl div"));//输出#txl下的所有div(5个)
console.log($("#txl >div"));//输出#txl下的所有div子元素(3个)
console.log($("#title ~div"));//输出#title的同辈div元素(2个)
console.log($("#PSP +div"));//输出#PSP的相邻div元素(1个),注意:必须相邻而且不能隔着其他元素
//⑶表单选择
$(":radio")[2].checked=true;//通过表单进行选择,元素可以有:input、:text、:checkbox、:radio、:password、:submit、:image、:button、:file(文件域)、reset(重置)
4、操作
//⑴获取属性
console.log($("input[type='checkbox']")[1].checked);//输出checked属性
var checkboxList=$("input[type='checkbox']");
checkboxList.each(function(index,el){
console.log( $(el).prop('checked') );//输出checked属性
console.log( $(el).attr('id') );//输出id属性
});
//⑵设置属性
//固有的属性使用attr和prop都可以
//自定义属性使用attr
//true和false的属性使用prop(返回true和false)
$("#demo4").prop("checked",false);//设置属性
$("#demo2").attr("data","123");//设置自定义属性
console.log($("#demo2").attr("data"));//输出自定义属性
//⑶获取和设置样式
console.log( $("#student5").attr("style") ) ;//输出style样式
$("#student5").css("background","#ccc");//设置属性
$("#student5").css("font-size","18px");//设置属性
$("#student1").css( {"background":"#999","font-size":"15px","font-family":"楷体","color":"#d70008"} );//设置属性
$("#student3").addClass("focusRowColorSet");//增加样式名称(原来的样式仍然存在)
$("#focusID").attr("class","focusRowColorSet");//设置行的属性(替换掉原来的)
$("#student3").removeClass("focusRowColorSet");//去除样式
//⑷设置和获取内容
console.log($("#focusID").html());//输出(非表单)元素的html内容
console.log($("#xm").html());//输出(非表单)元素的html内容
$("#xm").html("<div style='color:#123456'>姓名</div>");//设置
console.log($("#xb").text());//输出(非表单)元素的text内容
$("#xb").text("<h1>性别</h1>");//设置
console.log($("#student2").val()) ;//获取表单域的值
$("#student2").val("小小宋");//设置表单域的值
5、事件
语法1:页面元素.bind("事件名1 事件名2 事件名3",function(){}),为一个页面元素绑定同一个函数
语法2:页面元素.bind("事件名1,function(){}).bind("事件名2,function(){}),为一个页面元素绑定多个事件及函数,链式写法
语法3:页面元素.bind( {"事件名1:function(){}),"事件名2":function(){},"事件名3":function(){} }),为一个页面元素绑定多个事件及函数
$("#demo2").bind("click",function(){
console.log("点击了demo2");
});//绑定了点击事件:
// document.getElementById("demo2").onclick=function(){
// console.log("点选了demo2");
// }
$("#demo3").click(function(){
console.log("点击了demo3");
});//绑定了点击事件:
$("#student4").bind({
"click":function(){
console.log("点击student4");
},
"mouseout":function(){
console.log("移出student4");
}
})
练习:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JQuery使用小结</title>
<style>
.table tr{
line-height:200%;
text-align:center;
}
.table td{
width: 100px;
text-align:center;
}
.rowTitleColorSet{background-color: #818080;color: rgb(232, 232, 232);text-align: center;}
.evenRowColorSet{background-color: #efefef;color: rgb(8, 8, 8);text-align: center}
.oddRowColorSet{background-color: #f8f8f8;color: rgb(128, 128, 128);text-align: center}
.focusRowColorSet{background-color: #999;color:#d70008;text-align: center}
</style>
</head>
<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
<body>
<div id="txl">
<div id="title"><h3>初二(5)班通讯录</h1></div>
<div>
<div id="PSP"><h5>HaoR制作</h5></div>
<div><h5>JQuery小结</h5></div>
</div>
<div><h5>2022年5月16日</h5></div>
</div>
<div class="layui-form">
<table class="table">
<thead>
<tr class="rowTitleColorSet">
<th>学号</th>
<th><div id="xm"><span>姓名</span></div></th>
<th><div id="xb"><span>性别</span></div></th>
<th><input type="checkbox" name="motto" id="demo0"/>选择</th>
</tr>
</thead>
<tbody>
<tr class="oddRowColorSet">
<td>101</td>
<td><input type="text" value="小华" id="student1"/></td>
<td><div><input type="radio" name="radio1" id="radio1A" value="男" checked=true>男</input> <input type="radio" name="radio1" id="radio1B" value="女">女</input></div></td>
<td><input type="checkbox" name="motto" id="demo1"/></td>
</tr>
<tr class="evenRowColorSet">
<td>102</td>
<td><input type="text" value="小宋" id="student2"/></td>
<td><div><input type="radio" name="radio2" id="radio2A" value="男">男</input> <input type="radio" name="radio2" id="radio2B" value="女" checked=true>女</input></div></td>
<td><input type="checkbox" name="motto" id="demo2"/></td>
</tr>
<tr class="oddRowColorSet">
<td>103</td>
<td><input type="text" value="小丽" id="student3"/></td>
<td><div><input type="radio" name="radio3" id="radio3A" value="男">男</input> <input type="radio" name="radio3" id="radio3B" value="女" checked=true>女</input></div></td>
<td><input type="checkbox" name="motto" id="demo3"/></td>
</tr>
<tr class="evenRowColorSet" id="focusID">
<td>104</td>
<td><input type="text" value="小明" id="student4"/></td>
<td><div><input type="radio" name="radio4" id="radio4A" value="男" checked=true>男</input> <input type="radio" name="radio4" id="radio4B" value="女">女</input></div></td>
<td><input type="checkbox" name="motto" id="demo4"/></td>
</tr>
<tr class="oddRowColorSet">
<td>105</td>
<td><input type="text" value="小凯" id="student5" style="font-size:14px;color:green"/></td>
<td><div><input type="radio" name="radio5" id="radio5A" value="男" checked=true>男</input> <input type="radio" name="radio5" id="radio5B" value="女">女</input></div></td>
<td><input type="checkbox" name="motto" id="demo4"/></td>
</tr>
</tbody>
</table>
</div>
<script>
//1、dom对象、JQuery对象
//dom对象:通过JavaScript获取的对象,无返回null
//JQuery对象:通过JQuery获取的对象,无则返回空
var checkbox0=document.getElementById("demo0");//dom对象
var checkboxArray=document.getElementsByName("motto");//dom对象
// var jqueryMotto=jQuery(checkboxArray);//转换为JQuery对象
var jqueryMotto=$(checkboxArray);//转换为JQuery对象
//⑴、将JQuery对象转换为dom对象
var checkbox000=jqueryMotto[0];
//⑵、通过遍历将JQuery对象转换为dom对象
$(jqueryMotto).each(function(){
if(this.id=='demo1'){ this.checked="checked"; }
});
//⑶、通过for循环将JQuery对象转换为dom对象
for(var i=0;i<jqueryMotto.length;i++){
if(i==3){ jqueryMotto[i].checked="checked"; }
}
//2、选择
//⑴基础选择
$("#demo4").prop("checked",true);//通过id选择,如果有多个同名ID则选择第一个
$(".rowTitleColorSet").css("color","#d70008");//通过类名进行选择
$("span").css("color","#cccccc");//通过标签进行选择
$("input[type=radio]")[0].checked=true;//通过元素名进行选择
console.log( $(":radio,:checkbox,#radio5A") ) ;//组合选择(共16个),多的不重复累加,相当于交集
//⑵层次选择
console.log($("#txl div"));//输出#txl下的所有div(5个)
console.log($("#txl >div"));//输出#txl下的所有div子元素(3个)
console.log($("#title ~div"));//输出#title的同辈div元素(2个)
console.log($("#PSP +div"));//输出#PSP的相邻div元素(1个),注意:必须相邻而且不能隔着其他元素
//⑶表单选择
$(":radio")[2].checked=true;//通过表单进行选择,元素可以有:input、:text、:checkbox、:radio、:password、:submit、:image、:button、:file(文件域)、reset(重置)
//3、操作
//⑴获取属性
console.log($("input[type='checkbox']")[1].checked);//输出checked属性
var checkboxList=$("input[type='checkbox']");
checkboxList.each(function(index,el){
console.log( $(el).prop('checked') );//输出checked属性
console.log( $(el).attr('id') );//输出id属性
});
//⑵设置属性
//固有的属性使用attr和prop都可以
//自定义属性使用attr
//true和false的属性使用prop(返回true和false)
$("#demo4").prop("checked",false);//设置属性
$("#demo2").attr("data","123");//设置自定义属性
console.log($("#demo2").attr("data"));//输出自定义属性
//⑶获取和设置样式
console.log( $("#student5").attr("style") ) ;//输出style样式
$("#student5").css("background","#ccc");//设置属性
$("#student5").css("font-size","18px");//设置属性
$("#student1").css( {"background":"#999","font-size":"15px","font-family":"楷体","color":"#d70008"} );//设置属性
$("#student3").addClass("focusRowColorSet");//增加样式名称(原来的样式仍然存在)
$("#focusID").attr("class","focusRowColorSet");//设置行的属性(替换掉原来的)
$("#student3").removeClass("focusRowColorSet");//去除样式
//⑷设置和获取内容
console.log($("#focusID").html());//输出(非表单)元素的html内容
console.log($("#xm").html());//输出(非表单)元素的html内容
$("#xm").html("<div style='color:#123456'>姓名</div>");//设置
console.log($("#xb").text());//输出(非表单)元素的text内容
$("#xb").text("<h1>性别</h1>");//设置
console.log($("#student2").val()) ;//获取表单域的值
$("#student2").val("小小宋");//设置表单域的值
//事件
//页面元素.bind("事件名1 事件名2 事件名3",function(){}),为一个页面元素绑定同一个函数
//页面元素.bind("事件名1,function(){}).bind("事件名2,function(){}),为一个页面元素绑定多个事件及函数,链式写法
//页面元素.bind( {"事件名1:function(){}),"事件名2":function(){},"事件名3":function(){} }),为一个页面元素绑定多个事件及函数
$("#demo2").bind("click",function(){
console.log("点击了demo2");
});//绑定了点击事件:
// document.getElementById("demo2").onclick=function(){
// console.log("点选了demo2");
// }
$("#demo3").click(function(){
console.log("点击了demo3");
});//绑定了点击事件:
$("#student4").bind({
"click":function(){
console.log("点击student4");
},
"mouseout":function(){
console.log("移出student4");
}
})
</script>
</body>
</html>
结果图:

本文详细介绍了JQuery在前端开发中的基本操作,包括DOM对象与JQuery对象的转换、选择器的使用、属性与样式的操作以及事件绑定。内容涵盖了选择元素、设置属性、操作样式、内容获取与设置以及事件监听等多个方面,是学习和理解JQuery的实用指南。
1065

被折叠的 条评论
为什么被折叠?



