查询元素的属性
1. val
操作数组中DOM对象的value属性。
- $(选择器).val():无参数形式调用,读取数组中第一个DOM对象的value属性值。
- $(选择器).val(值):有参形式调用,对数组中所有DOM对象的value属性值进行统一赋值。
注意:在数组中有多个对象时,有参形式调用和无参形式调用的对象是不同的。
2. text
操作数组中所有DOM对象的文字显示内容属性。
- $(选择器).text():无参形式调用,读取数组中所有DOM对象的文字显示内容,将得到的内容拼接成一个字符串返回。
- $(选择器).text(值):有参形式调用,对数组中所有DOM对象的文字显示内容进行统一赋值。
3. attr
对val、text以外的属性进行操作。
- $(选择器).attr(“属性名”):获取jQuery数组第一个对象的属性值。
- $(选择器).attr(“属性名”,”值”):对数组中所有DOM对象的属性设置为新值。
举个例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript" src="./js/jquery-3.6.0.min.js"></script>
<style>
div{
width: 200px;
height: 30px;
line-height: 30px;
background: rgb(153, 153, 221);
}
</style>
<script>
$(function(){
$("#btn1").click(function(){
var $obj = $(":text");
//val()获取的是DOM数组第一个对象的value属性值
alert($obj.val());
})
$("#btn2").click(function(){
var $obj = $(":text");
//设置所有的text的value为新值
$obj.val("曹操");
});
$("#btn3").click(function(){
var $obj = $("div");
//获取div,text()无参数获取DOM数组中所有对象的文本值,连接成字符串
alert($obj.text());
});
$("#btn4").click(function(){
var $obj = $("div");
//获取div的第一个文本值
alert($($obj[0]).text());
});
$("#btn5").click(function(){
var $obj = $("div");
//设置div的新文本值
$obj.text("我们都是新的div");
});
$("#btn6").click(function(){
var $obj = $("#img1");
//设置图片的src属性为其他值,如果仅获取值就不需要赋值了
$obj.attr("src","../images/03.jpg");
});
});
</script>
</head>
<body>
<p>文本框val</p>
<input type="text" value="刘备"/> <br/>
<input type="text" value="关羽"/> <br/>
<input type="text" value="张飞"/> <br/>
<p>文本数据text</p>
<div>我是第一个div\n</div>
<div>我是第二个div</div>
<div>我是第三个div</div>
<p>图片</p>
<img src="../images/04.jpg" id="img1" width="200px" height="200px"/> <br/>
<p>功能按钮</p>
<button id="btn1">获取第一个文本框的值</button> <br/>
<button id="btn2">设置所有文本框为新值</button> <br/>
<button id="btn3">获取div的所有文本</button> <br/>
<button id="btn4">获取第一个div的文本</button> <br/>
<button id="btn5">设置div新文本</button> <br/>
<button id="btn6">设置img图片</button> <br/>
</body>
</html>
元素节点的操作
1. remove
- $(选择器).remove():将数组中的所有DOM对象及其子对象一并删除。
2. empty
- $(选择器).empty():将数组中所有DOM对象的子对象删除。
- 注意remove和empty删除的对象是不同的。
3. append
- 为数组中的所有DOM对象添加子对象。
- 语法:
$(选择器).append("<div>添加子对象</div>")
4. html
- 设置或返回被选元素的内容,相当于DOM对象中的”innerHTML”。
- $(选择器).html():无参形式调用,获取DOM数组第一个匹配元素的内容。
- $(选择器).html(值):有参形式调用,用于设置DOM数组中所有元素的内容。
- html()和text()的区别和innerHTML和innerText的区别是一样的。
5. each
- $.each是对数组,json和DOM数组等的遍历,对每一个元素调用一次处理函数。
- $就相当于java中的类名,.each就是类中的静态方法。
- 语法:
1. `$.each(遍历对象,function(index,element) {处理程序} )`
1. `jQuery对象.each(function(index,element) {处理程序} )`
1. index和element都是自定义的形参,名称自定义。
1. index为数组的下标,element为数组的对象。
举个例子
1—4方法的使用(each使用方法在下方)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript" src="./js/jquery-3.6.0.min.js"></script>
<script>
$(function(){
$("#btn1").click(function(){
//删除select对象本身和其子对象
$("select").remove();
});
$("#btn2").click(function(){
//只删除select对象的子对象
$("select").empty();
});
$("#btn3").click(function(){
//给div标签添加子元素
$("#father").append("<select><option>示例</option></select>");
});
$("#btn4").click(function(){
//获取数组第一个DOM对象的文本值,下面是text和html的区别
//alert($($("span")[0]).text()); 我是MySQL数据库
alert($("span").html()); //我是MySQL<b>数据库</b>
});
$("#btn5").click(function(){
$("span").html("这是新的span标签");
});
});
</script>
</head>
<body>
<select>
<option value="脑斧">脑斧</option>
<option value="狮子">狮子</option>
<option value="豹子">豹子</option>
</select>
<br/>
<select>
<option value="非洲">非洲</option>
<option value="美洲">美洲</option>
<option value="亚洲">亚洲</option>
</select>
<br/>
<div id="father" style="background:red;">我是父div</div>
<br/>
<span>我是MySQL<b>数据库</b></span>
<span>我是jdbc</span>
<br/>
<br/>
<button id="btn1">使用remove删除所有对象</button>
<button id="btn2">使用empty删除子DOM对象</button>
<button id="btn3">增加一个子DOM对象</button>
<button id="btn4">获取文本中带有html标签的内容</button>
<button id="btn5">设置span的值</button>
</body>
</html>
each语法举例
...
<script>
$(function(){
//语法1
//循环遍历数组
$("#btn6").click(function(){
var arr = ["a","b","c"];
/* js中循环数组
for (var index = 0; index<arr.length; index++){
console.log("数组索引:" + index + " -- 数组元素:" + arr[index]);
}
*/
//$.each循环数组
$.each(arr,function(index,element){
console.log("数组索引:" + index + " -- 数组元素:" + element);
});
});
//循环遍历JSON
$("#btn7").click(function(){
var json_obj = '{"name":"张三","age":"18"}';
json_obj = JSON.parse(json_obj);
//这里的参数名称可以自定义
$.each(json_obj,function(key,value){
console.log("key=:" + key + " -- velue=" + value);
});
});
//循环遍历DOM数组
$("#btn8").click(function(){
var $dom_obj = $(":text");
$.each($dom_obj,function(index,element){
console.log("DOM数组索引:" + index + " -- 文本框value值:" + $(element).val());
});
});
//语法2
//这个和btn8的效果是相同的,选择使用即可。
$("#btn9").click(function(){
var $dom_obj = $(":text");
$dom_obj.each(function(index,element){
console.log("DOM数组索引:" + index + " -- 文本框value值:" + $(element).val());
});
});
});
</script>
...
<body>
<input type="text" value="t1"/>
<input type="text" value="t2"/>
<input type="text" value="t3"/>
<button id="btn6">循环遍历数组</button>
<button id="btn7">循环遍历JSON</button>
<button id="btn8">循环遍历DOM数组</button>
<button id="btn9">语法2:循环遍历DOM数组</button>
</body>