jQuery 经常使用属性操做有三种:prop() / attr() / data() ;缓存
所谓元素固有属性就是元素自己自带的属性,好比 <a> 元素里面的 href ,好比 <input> 元素里面的 type。 this
语法atom
注意:prop() 除了普通属性操做,更适合操做表单属性:disabled / checked / selected 等。spa
用户本身给元素添加的属性,咱们称为自定义属性。 好比给 div 添加 index =“1”。 3d
语法blog
注意:attr() 除了普通属性操做,更适合操做自定义属性。(该方法也能够获取 H5 自定义属性)ip
data() 方法能够在指定的元素上存取数据,并不会修改 DOM 元素结构。一旦页面刷新,以前存放的数据都将被移除。 内存
语法element
注意:同时,还能够读取 HTML5 自定义属性 data-index ,获得的是数字型。input
演示代码
<body>
<a href="http://www.itcast.cn" title="都挺好">都挺好</a>
<input type="checkbox" name="" id="" checked>
<div index="1" data-index="2">我是div</div>
<span>123</span>
<script>
$(function() {
//1. element.prop("属性名") 获取元素固有的属性值
console.log($("a").prop("href"));
$("a").prop("title", "咱们都挺好");
$("input").change(function() {
console.log($(this).prop("checked"));
});
// console.log($("div").prop("index"));
// 2. 元素的自定义属性 咱们经过 attr()
console.log($("div").attr("index"));
$("div").attr("index", 4);
console.log($("div").attr("data-index"));
// 3. 数据缓存 data() 这个里面的数据是存放在元素的内存里面
$("span").data("uname", "andy");
console.log($("span").data("uname"));
// 这个方法获取data-index h5自定义属性 不用写data- 并且返回的是数字型
console.log($("div").data("index"));
})
</script>
</body>
1.全选思路:里面3个小的复选框按钮(j-checkbox)选中状态(checked)跟着全选按钮(checkall)走。
2.由于checked 是复选框的固有属性,此时咱们须要利用prop()方法获取和设置该属性。
3.把全选按钮状态赋值给3小复选框就能够了。
4.当咱们每次点击小的复选框按钮,就来判断:
5.若是小复选框被选中的个数等于3 就应该把全选按钮选上,不然全选按钮不选。
6.:checked 选择器 :checked 查找被选中的表单元素。
// 全选按钮改变状态,小复选框跟着改变
$(".checkall").change(function () {
// console.log($(this).prop("checked"));
$(".j-checkbox,.checkall").prop("checked", $(this).prop('checked'));
});
$(".j-checkbox").change(function () {
// 每次改变小复选框状态都要判断小复选框是否全被选中
// 若是小复选框选中的个数等于全部小复选框个数,则选中全选按钮 不然不选中
// .j-checkbox:checked 选中的复选框
if ($(".j-checkbox:checked").length === $(".j-checkbox").length) {
$(".checkall").prop("checked", true);
} else {
$(".checkall").prop("checked", false);
}
})