jQuery选择器

















<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery class选择器应用</title>
<!-- 引入jquery.js库 -->
<script type="text/javascript" src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
/* 点击按钮获取所有具有'c_1' class值的元素
并显示数量是多少,对符合要求的元素进行判断,
哪些是INPUT元素 */
function getEle(){
var c_1ClaArr = $('.c_1');//获取class属性值中是c_1
alert("符合class值是c_1的元素个数是 "+c_1ClaArr.length);
c_1ClaArr.each(function(i){
if (this.tagName === 'INPUT') {//符合是input元素的对象
alert("这是一个input元素:"+this.value);
}else{
alert("不是input元素,它是 "+this.tagName)
}
});
}
</script>
</head>
<body id="body_">
名著1:<input class="c_1 c_2" id="book1" value="红楼梦" /><br>
名著2:<input class="c_1 c_3" id="book2" value="西游记"/><br>
名著3:<input class="c_2 c_3" id="book3" value="水浒传"/><br>
请选择书籍:
<select class="c_1" id="sel">
<option>--请选择你想阅读哪个书籍--</option>
<option value="HLM">红楼梦</option>
<option value="XYJ">西游记</option>
<option value="SHZ">水浒传</option>
</select><br>
<button onclick="getEle()">获取c_1类所有元素</button>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery ID选择器应用</title>
<!-- 引入jquery.js库 -->
<script type="text/javascript" src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
//点击按钮实现将第一个文本框的值与第二个文本框
function changeValue(arg){
var temp = $('#book1').val();//获取id为book1元素的值
$('#book1').val($('#book2').val());//为book1 value属性赋值
$('#book2').val(temp);
if (arg === 'JH') {
$('#jh')[0].disabled = true;
$('#hf')[0].disabled = false;
}else if (arg === 'HF') {
$('#jh')[0].disabled = false;
$('#hf')[0].disabled = true;
}
}
</script>
</head>
<body id="body_">
<input id="book1" style="font-size: 25px" value="红楼梦" /><br><br>
<input id="book2" style="font-size: 25px" value="西游记"/><br><br>
<button onclick="changeValue('JH')" id="jh">交换</button>
<button onclick="changeValue('HF')" id="hf" disabled>恢复</button>
<p id="p1">他好</p>
<p id="p1">你好</p>
<p id="p1">我好</p>
<div>
<p id="p1">大家好</p>
</div>
</body>
<script type="text/javascript">
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery ready(Fun)函数应用</title>
<!-- 引入jquery.js库 -->
<script type="text/javascript" src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
function sayHello(name){
alert("你好 "+name)
}
/*$('#book1').ready(function(){
$('#book1')[0].value = "三国志";
});*/
/* 当整个文档加载准备完毕后执行JS操作 */
$(document).ready(function(){
alert('文档准备好了');
alert($('.c_3').val());
})
/* ready函数的简写方式 */
$(sayHello('无限极'));
function loadFun(){
alert("onload注册的事件");
}
</script>
</head>
<body onload="loadFun()">
名著1:<input class="c_1 c_2" id="book1" value="红楼梦" /><br>
名著2:<input class="c_1 c_3" id="book2" value="西游记"/><br>
名著3:<input class="c_2 c_3" id="book3" value="水浒传"/><br>
请选择书籍:
<select class="c_1" id="sel">
<option>--请选择你想阅读哪个书籍--</option>
<option value="HLM">红楼梦</option>
<option value="XYJ">西游记</option>
<option value="SHZ">水浒传</option>
</select>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery 祖先与后代选择器应用</title>
<!-- 引入jquery.js库 -->
<script type="text/javascript" src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
/* 编写jquery代码,实现点击'获取form1中所有input后代元素';
实现点击'获取form2中所有直接input子元素'并显示input的值信息 */
function getInputInF1(){
var inputArrInF1 = $('#f1 input');
alert(inputArrInF1.length);
}
function getInputInF2(){
var inputArrInF2 = $('#f2 > input');
inputArrInF2.each(function(i){
alert(this.value);
});
}
</script>
</head>
<body id="body_">
<h2>Form1中Input元素</h2>
<form id="f1">
名著1:<input class="c_1 c_2" id="book1" value="红楼梦" /><br>
名著2:<input class="c_1 c_3" id="book2" value="西游记"/><br>
名著3:<input class="c_2 c_3" id="book3" value="水浒传"/><br>
<div>
名著4:<input class="c_1 c_3" id="book4" value="儒林外史"><br>
名著5:<input class="c_2 c_3" id="book4" value="牡丹亭"><br>
</div>
</form><br>
<button onclick="getInputInF1()">获取form1中所有input后代元素</button>
<h2>Form2中Input元素</h2>
<form id="f2">
作者1:<input class="c_1 c_2" id="book1" value="曹雪芹" /><br>
作者2:<input class="c_1 c_3" id="book2" value="吴承恩"/><br>
作者3:<input class="c_2 c_3" id="book3" value="施耐庵"/><br>
<div>
作者4:<input class="c_1 c_3" id="book4" value="吴敬梓"><br>
作者5:<input class="c_2 c_3" id="book4" value="汤显祖"><br>
</div>
</form><br>
<button onclick="getInputInF2()">获取form2中所有input后代元素</button>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery 同辈与紧随其后选择器应用</title>
<!-- 引入jquery.js库 -->
<script type="text/javascript" src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
/* 实现获取id值是book2 元素 紧随其后的唯一class值为t_1的元素 */
/*$(function(){
var classT_1 = $('#book2 + .t_1');
if(classT_1.length !=0){
alert(classT_1.text());
}
});*/
/* id值是book2元素后的所有同级p元素 */
$(function(){
var pSubings = $('#book2 ~ p');
pSubings.each(function(i){
alert(this.innerText);
});
})
</script>
</head>
<body id="body_">
<p>俄罗斯</p>
<p>英格兰</p>
<input id="book2" value="西游记"/>
<p class="t_2">中国</p>
<p><p>美国</p></p>
<select id="s1" class="t_1">
<option value='dz'>大专</option>
<option value='ss'>硕士</option>
<option value='bs'>博士</option>
</select>
<input class="t_1" id="book1" value="红楼梦" />
<div>
<p>中国2</p>
<p>美国3</p>
</div>
<p>中国5</p>
<select id="add">
<option value='jl'>吉林</option>
<option value='hlj'>黑龙江</option>
<option value='ln'>辽宁</option>
</select>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JQuery 选择器条件筛选应用示例</title>
<!-- 引入jquery.js库 -->
<script type="text/javascript" src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
function divFirst(){//获取文档中的第一个div
alert($('div:first').text());
}
function divLastPLast(){//获取最后一个div中最后一个段落内容
alert($('div:last > p:last').html());
}
function notHaving(){//获取文档中第一个form中类值不是cla2的input
var inputNotClasscla2 = $('form:first input:not(.cla2)');
inputNotClasscla2.each(function(){
alert(this.value);
})
}
function evenHaving(){//显示第一个div中P段落内容,只要索引为偶数的
var pInFirstDivForEven = $('div:first p:even');
pInFirstDivForEven.each(function(){
alert(this.innerHTML);
});
}
function eqHaving(){//点击获取表格中第4行中所有<td>内容并将此行背景色设为黄色
var tr = $("table tr:eq(3)");
var tdArr = $('td',tr);
tr[0].style.backgroundColor = "yellow";
alert(tdArr.length);
tdArr.each(function(i){
alert(this.innerText);
});
}
function cotainerHaving(){//获取id值为div_0的DIV元素内P元素,内容必需包含'好'的
var pArr = $('#div_0 p:contains("好")')
pArr.each(function(){
alert($(this).text());
});
}
function hasHaving(){//获取段落内有input元素的P元素
var pHasInput = $('p:has(input)');
pHasInput.each(function(){
alert(this.innerHTML);
});
}
</script>
</script>
</head>
<body id="body_">
<div id="users" style="background-color: skyblue;">
<p>日照香炉生紫烟,</p>
<p>遥看瀑布挂前川。</p>
<p>飞流直下三千尺,</p>
<p>疑是银河落九天。</p>
</div>
<div id="users" style="background-color: skyblue;">
<p>李白诗仙</p>
<p>杜甫诗圣</p>
<p>子建鬼才</p>
<p>东坡词圣</p>
</div>
<div id="users" style="background-color: skyblue;">
<p>卧龙诸葛舌如剑</p>
<p>郭靖逝去居第一</p>
<p>翼德骁勇将碎胆</p>
<p>云长横刀笑诸雄</p>
</div>
<form>
<input class="cla1" value="人类"><br>
<input class="cla2" value="阿修罗"><br>
<input class="cla1" value="仙人"><br>
</form>
<button onclick="divFirst()">显示第一个div中html内容</button>
<button onclick="divLastPLast()">显示最后一个div中最后一个p段落内容</button>
<button onclick="notHaving()">获取文档中第一个form中类值不是cla2的input</button>
<button onclick="evenHaving()">显示第一个div中P段落内容,只要索引为偶数的</button>
<br><br>
<table border="1" cellpadding="5" width="600">
<tr>
<td>EMO100</td> <td>诸葛孔明</td> <td>南阳卧龙岗</td> <td>男</td>
</tr>
<tr>
<td>EMO110</td> <td>周公瑾</td> <td>江南水乡</td> <td>男</td>
</tr>
<tr>
<td>EMO120</td> <td>貂 蝉</td> <td>月宫</td> <td>女</td>
</tr>
<tr>
<td>EMO130</td> <td>曹孟德</td> <td>许 昌</td> <td>男</td>
</tr>
<tr>
<td>EMO140</td> <td>赵子龙</td> <td>常 山</td> <td>男</td>
</tr>
<tr>
<td>EMO150</td> <td>孙尚香</td> <td>苏州</td> <td>女</td>
</tr>
</table>
<button onclick="eqHaving()">点击获取表格中第4行中所有<td>内容并将此行背景色设为黄色</button><br><br>
<div id="div_0">
<p>心好命又好,</p>
<p>富贵直到老。</p>
<p>命好心不好,</p>
<p>福变为祸兆。</p>
<p>心好命不好,</p>
<p>祸转为福报。</p>
<p>心命俱不好,</p>
<p>遭殃且贫夭。</p>
<p>心可挽乎命,</p>
<p>最好存仁道。</p>
</div>
<button onclick="cotainerHaving()">获取id值为div_0的DIV元素内P元素,内容必需包含'好'的</button><br><br>
<p><input value="我是文本值"></p>
<p><input value="我是密码内容" type="password"></p>
<p><input value="我是地址内容"></p>
<p><input value="我是密码确认" type="password"></p>
<button onclick="hasHaving()">获取段落内有input元素的P元素</button>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>实践任务1</title>
<script type="text/javascript" src="../js/jquery-3.6.0.js" ></script>
<script type="text/javascript">
var personArr = [{"name":"赵大个子","age":29,"sex":"男","address":"赵家屯"},
{"name":"钱罗锅","age":56,"sex":"男","address":"钱家浦"},
{"name":"孙二丫","age":26,"sex":"女","address":"西河套"},
{"name":"李麻子","age":32,"sex":"男","address":"城西铺子"},
{"name":"周妞妞","age":20,"sex":"女","address":"兰家村"},
{"name":"吴老二","age":29,"sex":"男","address":"吴家岭"},
{"name":"郑三炮","age":40,"sex":"男","address":"强盗岗"}
];
/*
* 编写jQuery代码,实现在文档准备好后将personArr数组中的对象(表示人)
* 按照以下给出的表格结构向表格中动态添加行<tr>,每个行中添加对应的单元格
* 5个单元格,前4个单元格依次存储姓名,年龄,性别,住址,最后一个单元格添加一个按钮
* 并未此按钮命名为"删除"文本,为此按钮添加onclick属性事件并绑定执行的函数,在点击
* 删除按钮时能够将当前行从表格中进行删除
* 提示:jQuery.remove()函数可以将调用此函数的对象从文档中删除.
* 如 $('#per').remove(); // $('#per')对象将被删除
*/
$(function(){
var tab = $('#perTab');//获取表格对象
$(personArr).each(function(i){//遍历数组并创建tr及tr中的td
var tr = $("<tr id='"+i+"'></tr>");//创建tr使用循环的i作为id值
var tdName = $("<td>"+this.name+"</td>");//创建td
var tdAge = $("<td>"+this.age+"</td>");
var tdSex = $("<td>"+this.age+"</td>");
var tdAddress = $("<td>"+this.address+"</td>");
//创建一个button按钮,绑定删除的方法,传递一个循环的i作为删除用的索引
var tdButton = $("<td><button onclick='deleteData("+i+")'>删除</button></td>");
/* 添加td到tr中 */
tdName.appendTo(tr);
tdAge.appendTo(tr);
tdSex.appendTo(tr);
tdAddress.appendTo(tr);
tdButton.appendTo(tr);
/* 添加tr到表格中 */
tr.appendTo($('#perTab'));
})
})
function deleteData(index){
/* 删除具有id属性并且值是index的行 */
$('#perTab tr[id="'+index+'"]').remove();
}
</script>
</head>
<body id="body_">
<table id="perTab" width="650" cellpadding="3" border="1">
<tr>
<th>姓名</th><th>年龄</th><th>性别</th><th>生日</th><th>操作</th>
</tr>
</table>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>实践任务2</title>
<script type="text/javascript" src="../js/jquery-3.6.0.js" ></script>
<script type="text/javascript">
/* 使用jQuery编写一个函数实现在表单输入书籍编号和书籍名称后
* 点击"添加书籍"按钮能够动态向下拉列表中动态添加下拉列表项;
* 列表项的value属性值使用form表单中的书籍编号文本框内容填充,
* 列表项的文本显示使用form表单中的书籍名称文本框内容填充,
* 应考虑列表项的value值不能够出现重复
*/
function addBook(){
var bookId = $('#bookId').val();//获取书籍编号值
var bookName = $('#bookName').val();//获取书籍名称值
var newOption = $('<option></option>');//创建option
if (bookId.length===0 || bookName.length===0) {
//验证书籍编号和名称是不是空
alert("书籍编号和名称不能为空");
return false;
}else{
//检查目标数组是否包含了bookId值
var optionArr = $('select option');
if (optionArr.length > 1) {//如果下拉框条目大于1则执行遍历检查
optionArr.each(function(i){
if (this.value === bookId) {//如果书籍编号已经存在
flag=1;
return false;//标识flag为1,结束循环
}
});
if (flag===1) {
alert("书籍编号已存在,请重新填写");
return false;
}else{
newOption[0].value = bookId;//设置option的value值为书的id
newOption.text(bookName);
newOption.appendTo($('select'));//添加到列表中
}
}else{// 只有一项则未添加任何书籍
/* 创建option*/
newOption[0].value = bookId;// 设置value属性值为bookId
/*设置显示文本值为bookName*/
newOption.text(bookName);// jQuery方式调用,设置newOption这个对象的文本值为bookName
newOption.appendTo($('select'));// 添加到列表中
}
}
}
</script>
</head>
<body>
<form>
书籍编号:<input id="bookId"/><br><br>
书籍名称:<input id="bookName" /><br><br>
<input type="button" value="添加书籍" onclick="addBook()"/>
</form>
<br><br>
书籍列表:
<select id="selBook">
<option value="">--请选择书籍--</option>
</select>
</body>
</html>

浙公网安备 33010602011771号