jQuery 中非常重要的部分,就是操作 DOM 的能力。
jQuery 提供一系列與 DOM 相關的方法,這使訪問和操作元素和屬性變得很容易。
一. 內容操作
1. html(): 獲取/設置元素的標籤體內容 <a><font>內容</font></a> --> <font>內容</font>
2. text(): 獲取/設置元素的標籤體純文本內容 <a><font>內容</font></a> --> 內容
3. val(): 獲取/設置元素的value屬性值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-3.3.1.min.js"></script>
<script>
$(function () {
// 獲取myinput 的value值
// var value = $("#myinput").val();
// alert(value)
// 設置myinput 的value值
// $("#myinput").val("李四");
// 獲取mydiv的標籤體內容
// var html = $("#mydiv").html();
// alert(html);
// 設置mydiv的標籤體內容
// $("#mydiv").html("aaa");
// 獲取mydiv文本內容
// var text = $("#mydiv").text();
// alert(text);
// 設置mydiv文本內容
$("#mydiv").text("ppp");
})
</script>
</head>
<body>
<input id="myinput" type="text" name="username" value="張三" /><br />
<div id="mydiv"><p><a href="#">標題標籤</a></p></div>
</body>
</html>
二. 通用屬性操作
1. attr(): 獲取/設置元素的屬性
2. removeAttr():刪除屬性
3. prop():獲取/設置元素的屬性
4. removeProp():刪除屬性
* attr和prop區別?
1. 如果操作的是元素的固有屬性,則建議使用prop
2. 如果操作的是元素自定義的屬性,則建議使用attr
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>獲取屬性</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="../js/jquery-3.3.1.min.js"></script>
<style type="text/css">
div,span{
width: 140px;
height: 140px;
margin: 20px;
background: #9999CC;
border: #000 1px solid;
float:left;
font-size: 17px;
font-family:Roman;
}
div.mini{
width: 30px;
height: 30px;
background: #CC66FF;
border: #000 1px solid;
font-size: 12px;
font-family:Roman;
}
div.visible{
display:none;
}
</style>
<script type="text/javascript">
$(function () {
//獲取北京節點的name屬性值
// var name = $("#bj").attr("name");
// alert(name);
//設置北京節點的name屬性的值爲dabeijing
// $("#bj").attr("name","dabeijing");
//新增北京節點的discription屬性 屬性值是didu
// $("#bj").attr("discription","didu");
//刪除北京節點的name屬性並檢驗name屬性是否存在
// $("#bj").removeAttr("name");
//獲得hobby的的選中狀態
// var checked = $("#hobby").prop("checked");
// alert(checked);
//使用attr獲取hobby的固有屬性checked
// var checked = $("#hobby").attr("checked");
// alert(checked); //無法獲取
})
</script>
</head>
<body>
<ul>
<li id="bj" name="beijing" xxx="yyy">北京</li>
<li id="tj" name="tianjin">天津</li>
</ul>
<input type="checkbox" id="hobby"/>
</body>
</html>
運行結果:
獲取北京節點的name屬性值:
設置北京節點的name屬性的值爲dabeijing:
新增北京節點的discription屬性 屬性值是didu:
刪除北京節點的name屬性並檢驗name屬性是否存在:
獲得hobby的的選中狀態:
使用attr獲取hobby的固有屬性checked:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>樣式操作</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="../js/jquery-3.3.1.min.js"></script>
<style type="text/css">
.one{
width: 200px;
height: 140px;
margin: 20px;
background: red;
border: #000 1px solid;
float:left;
font-size: 17px;
font-family:Roman;
}
div,span{
width: 140px;
height: 140px;
margin: 20px;
background: #9999CC;
border: #000 1px solid;
float:left;
font-size: 17px;
font-family:Roman;
}
div .mini{
width: 40px;
height: 40px;
background: #CC66FF;
border: #000 1px solid;
font-size: 12px;
font-family:Roman;
}
div .mini01{
width: 40px;
height: 40px;
background: #CC66FF;
border: #000 1px solid;
font-size: 12px;
font-family:Roman;
}
/*待用的樣式*/
.second{
width: 300px;
height: 340px;
margin: 20px;
background: yellow;
border: pink 3px dotted;
float:left;
font-size: 22px;
font-family:Roman;
}
</style>
<script type="text/javascript">
$(function () {
//<input type="button" value="採用屬性增加樣式(改變id=one的樣式)" id="b1"/>
$("#b1").click(function () {
$("#one").prop("class","second");
});
//<input type="button" value=" addClass" id="b2"/>
$("#b2").click(function () {
$("#one").addClass("second");
});
//<input type="button" value="removeClass" id="b3"/>
$("#b3").click(function () {
$("#one").removeClass("second");
});
//<input type="button" value=" 切換樣式" id="b4"/>
$("#b4").click(function () {
$("#one").toggleClass("second");
});
//<input type="button" value=" 通過css()獲得id爲one背景顏色" id="b5"/>
$("#b5").click(function () {
var color = $("#one").css("backgroundColor");
alert(color)
});
//<input type="button" value=" 通過css()設置id爲one背景顏色爲綠色" id="b6"/>
$("#b6").click(function () {
$("#one").css("backgroundColor","green");
});
})
</script>
</head>
<body>
<input type="button" value="保存" class="mini" name="ok" class="mini" />
<input type="button" value="採用屬性增加樣式(改變id=one的樣式)" id="b1"/>
<input type="button" value=" addClass" id="b2"/>
<input type="button" value="removeClass" id="b3"/>
<input type="button" value=" 切換樣式" id="b4"/>
<input type="button" value=" 通過css()獲得id爲one背景顏色" id="b5"/>
<input type="button" value=" 通過css()設置id爲one背景顏色爲綠色" id="b6"/>
<h1>有一種奇蹟叫堅持</h1>
<h2>自信源於努力</h2>
<div id="one">
id爲one
</div>
<div id="two" class="mini" >
id爲two class是 mini
<div class="mini" >class是 mini</div>
</div>
<div class="one" >
class是 one
<div class="mini" >class是 mini</div>
<div class="mini" >class是 mini</div>
</div>
<div class="one" >
class是 one
<div class="mini01" >class是 mini01</div>
<div class="mini" >class是 mini</div>
</div>
<span class="spanone"> span
</span>
</body>
</html>
運行結果:
點擊前:
點擊按鈕1
點擊按鈕2
點擊按鈕3
點擊按鈕4
點擊按鈕5
點擊按鈕6
總結一下:
JQuery屬性 | |
---|---|
html() | 獲取/設置元素的標籤體內容 |
text() | 獲取/設置元素的標籤體純文本內容 |
css() | 獲得匹配元素的當前值。 |
attr() | 獲取/設置自定義元素的屬性 |
removeAttr() | 刪除自定義元素屬性 |
prop() | 獲取/設置固有元素的屬性 |
removeProp() | 刪除固有元素屬性 |
addClass() | 添加class屬性值 |
removeClass() | 刪除class屬性值 |
toggleClass() | 切換class屬性 |