一、jQuery 的属性操作
① 属性操作
属性操作:
html() 它可以设置和获取起始标签和结束标签中的内容。跟dom 属性innerHTML 一样。
text() 它可以设置和获取起始标签和结束标签中的文本。跟dom 属性innerText 一样。
val() 它可以设置和获取表单项的value 属性值。跟dom 属性value 一样
使用:
html([val|fn]) a.html()取出a的html值 a.html(val) 让a的html值变为val
text([val|fn]) a.text()取出a的text值 a.text(val) 让a的文本值变为val
val([val|fn|arr]) a.val() 取出a的val值(input) a.val(v) 设置a的value值为v
练习:
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function () {
alert( $("div").html());
$("div").html("<h1>设置div内容</h1>");
alert( $("div").text() );
$("div").text("<h1>设置div内容</h1>");
$("#btn1").click(function () {
alert($("#username").val());
$("#username").val("设置input内容");
});
});
</script>
</head>
<body>
<div>我是div标签 <span>我是div中的span</span></div>
<input type="text" name="username" id="username"/>
<button id="btn1">操作输入框</button>
</body>
</html>
② 属性
属性:
attr() 可以设置和获取属性的值,不推荐操作checked、readOnly、selected、disabled 等等。attr 方法还可以操作非标准的属性。比如自定义属性:abc,bbj
removeAttr(name) 移除属性值
prop() 可以设置和获取属性的值,只推荐操作checked、readOnly、selected、disabled 等等
removeProp(name) 移除属性值
使用:
1、a.attr('name')取出a的name值 2、a.attr("name","username")把a的name值设置为username
a.removeAttr('class') 移除a的class属性
1、a.prop('id') 取出a的id值 2、a.prop('id',"bj") 设置a的id值为bj
a.removeProp('class') 移除a的class属性
练习:
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function () {
});
</script>
</head>
<body>
<body>
<br/>
多选:
<input name="checkbox" type="checkbox" checked="checked" value="checkbox1" />checkbox1
<input name="checkbox" type="checkbox" value="checkbox2" />checkbox2
<br/><br/>
<div>1234</div>
<div>1234</div>
</body>
</body>
</html>
二、jQuery 练习 (全选,全不选,反选)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function () {
$("#checkedAllBtn").click(function () {
$(":checkbox").prop("checked",true);
});
$("#checkedNoBtn").click(function () {
$(":checkbox").prop("checked",false);
});
$("#checkedRevBtn").click(function () {
$(":checkbox[name='items']").each(function () {
this.checked = !this.checked;
});
var countAll = $(":checkbox[name='items']").length;
var countChecked = $(":checkbox[name='items']:checked").length;
$("#checkedAllBox").prop("checked",countAll == countChecked);
});
$("#sendBtn").click(function () {
$(":checkbox[name='items']:checked").each(function () {
alert( this.value );
});
});
$("#checkedAllBox").click(function () {
$(":checkbox[name='items']").prop("checked",this.checked);
});
$(":checkbox[name='items']").click(function () {
var countAll = $(":checkbox[name='items']").length;
var countChecked = $(":checkbox[name='items']:checked").length;
$("#checkedAllBox").prop("checked",countAll == countChecked);
});
});
</script>
</head>
<body>
<form method="post" action="">
你爱好的运动是?<input type="checkbox" id="checkedAllBox" />全选/全不选
<br />
<input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球" />篮球
<input type="checkbox" name="items" value="羽毛球" />羽毛球
<input type="checkbox" name="items" value="乒乓球" />乒乓球
<br />
<input type="button" id="checkedAllBtn" value="全选" />
<input type="button" id="checkedNoBtn" value="全不选" />
<input type="button" id="checkedRevBtn" value="反选" />
<input type="button" id="sendBtn" value="提交" />
</form>
</body>
</html>
三、DOM 的增删改
内部插入:
appendTo() a.appendTo(b) 把a 插入到b 子元素末尾,成为最后一个子元素
prependTo() a.prependTo(b) 把a 插到b 所有子元素前面,成为第一个子元素
外部插入:
insertAfter() a.insertAfter(b) 得到ba
insertBefore() a.insertBefore(b) 得到ab
替换:
replaceWith() a.replaceWith(b) 用b 替换掉a
replaceAll() a.replaceAll(b) 用a 替换掉所有b
删除:
remove() a.remove(); 删除a 标签
empty() a.empty(); 清空a 标签里的内容
练习:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
<script type="text/javascript" src="script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function () {
$("<div id='div5'>这是div5</div>").appendTo("#div1");
$("<div id='div6'>这是div6</div>").prependTo("#div1");
$("<div id='div7'>这是div7</div>").insertBefore("#div1");
$("<div id='div8'>这是div8</div>").insertAfter("#div1");
$("div[id='div2']").replaceWith("<div id='div9'>这是div9</div>");
$("<div id='div10'>这是div10</div>").replaceAll("div[id='div4'] p");
$("div[id='div10']:eq(0)").empty();
$("div[id='div10']:eq(2)").remove();
});
</script>
</head>
<body>
<div id="div1">
<div id="div2">这是div2</div>
<div id="div3">这是div3</div>
<div id="div4">这是div4<p>~~~~~</p><p>----</p><p>****</p></div>
</div>
</body>
</html>
四、jQuery 练习 (从左往右,从右往左)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
select {
width: 100px;
height: 140px;
}
div {
width: 130px;
float: left;
text-align: center;
}
</style>
<script type="text/javascript" src="script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function () {
$("#toRight").click(function () {
$("select[name='sel01'] option:selected").each(function () {
$(this).appendTo("select[name='sel02']");
});
});
$("#allToRight").click(function () {
$("select[name='sel01'] option").each(function () {
$(this).appendTo("select[name='sel02']");
});
});
$("#toLeft").click(function () {
$("select[name='sel02'] option:selected").each(function () {
$(this).appendTo("select[name='sel01']");
});
});
$("#allToLeft").click(function () {
$("select[name='sel02'] option").each(function () {
$(this).appendTo("select[name='sel01']");
});
});
});
</script>
</head>
<body>
<div id="left">
<select multiple="multiple" name="sel01">
<option value="opt01">选项1</option>
<option value="opt02">选项2</option>
<option value="opt03">选项3</option>
<option value="opt04">选项4</option>
<option value="opt05">选项5</option>
<option value="opt06">选项6</option>
<option value="opt07">选项7</option>
<option value="opt08">选项8</option>
</select>
<button id="toRight">选中添加到右边</button>
<button id="allToRight">全部添加到右边</button>
</div>
<div id="right">
<select multiple="multiple" name="sel02">
</select>
<button id="toLeft">选中删除到左边</button>
<button id="allToLeft">全部删除到左边</button>
</div>
</body>
</html>