要点:
- 设置元素及内容
- 元素属性操作
- 元素样式操作
- CSS 方法
一、设置元素及内容
1.设置和获取元素中的HTML内容
<div id="test">
<h1>This is H1</h1>
</div>
console.log($("#test").html()); // <h1>This is H1</h1>
先获取当前的内容,再追加内容
$("#test").html($("#test").html() + "<span>span</span>")
console.log($("#test").html()); // <h1>This is H1</h1> <span>span</span>
2.设置和获取元素中的文本内容
console.log($("#test").text()); // This is H1
$("#test").text("我要覆盖你");
console.log($("#test").text()); // 我要覆盖你
3.设置和获取表单的内容
console.log($("input").val()); // 按钮
$("input").val("我是按钮");
console.log($("input").val()); // 我是按钮
如果想设置多个选项的选定状态,比如下拉列表、单选复选框等等,可以通过数组传递操作。
<select multiple="multiple">
<option value="op1">op1</option>
<option value="op2">op2</option>
<option value="op3">op3</option>
<option value="op4">op4</option>
</select>
$("select").val(["op1", "op4"]); // 值为op1和op4的被选中
二、元素属性操作
<a href="###">体育</a>
1.获取属性
console.log($("a").attr("href")); // 获取href的值, ###
2.设置属性
$("a").attr("href", "http://www.baidu.com"); // 设置属性值
console.log($("a").attr("href")); // http://www.baidu.com
属性值可以为匿名函数
// index表示上次的索引,默认为0
// value表示上次的属性值
$("a").attr("href", function (index, value) {
return "新版本:" + index + 1 + " " + value;
})
console.log($("a").attr("href")); // 新版本:01 http://www.baidu.com
3.删除属性
$("a").removeAttr("href");
console.log($("a").attr("href")); // undefined
三、元素样式操作
<div id="box">box</div>
#box {
height: 100px;
width: 100px;
background : red;
}
var box = $("#box");
1.获取样式
console.log(box.css("width")); // 100px
如果获取的样式需要计算,那么可以传人一个匿名函数
box.css("width", function (index, value) {
return (parseInt(value) + 500) + "px";
});
2.设置样式
box.css("background", "blue");
3.获取多个样式
var style = box.css(["width", "height", "background"]);
for (var v in style){
console.log(style[v]); // 100px 100px
}
4.设置多个样式,可以传人一个对象参数
box.css({
"font-size" : "100px",
"background" : "orange"
});
5.遍历元素
$.each(style, function (attr, value) {
alert(attr + ", " + value); // width : 100px ...
});
6.添加类样式
#box {
height: 100px;
width: 100px;
border: 1px solid #ccc;
}
.blue {
background: blue;
}
.green {
background: green;
}
添加blue类
$("#box").addClass("blue");
删除blue类
$("#box").removeClass("blue");
切换样式
$("#box").click(function () {
$(this).toggleClass("blue");
});
我们可以改变切换的频率
var count = 0;
$("#box").click(function () {
$(this).toggleClass("blue", count ++ % 3 === 0);
});
实现样式之间的切换
$("#box").click(function () {
$(this).toggleClass(function () {
if ($(this).hasClass("blue")) {
$(this).removeClass("blue");
return "green";
} else {
$(this).removeClass("green");
return "blue";
}
});
});
四、CSS方法
获取宽度
console.log($("#box").width()); // 100
设置宽度
$("#box").width(500);
$("#box").width("500pt"); // 加上单位,默认px
$("#box").width(function (index, value) { // 传人匿名函数,返回设置值
return value + 200; // 当前值 + 200
});
height() 获取元素的高度
innerWidth() 获取元素宽度,包含内边距 padding
innerHeight() 获取元素高度,包含内边距 padding
outerWidth() 获取元素宽度,包含边框 border 和内边距 padding
outerHeight() 获取元素高度,包含边框 border 和内边距 padding
outerWidth(ture) 同上,且包含外边距
outerHeight(true) 同上,且包含外边距
以上的使用方法和width()同理,这里不再累赘
offset() 获取某个元素相对于视口的偏移位置
* {
padding : 0;
margin: 0;
}
#box {
position: absolute;
height: 100px;
width: 100px;
left: 200px;
top:200px;
border: 1px solid #ccc;
}
// 获取元素相对于视口的位置
console.log($("#box").offset().left); // 200
console.log($("#box").offset().top); // 200
// position() 获取某个元素相对于父元素的偏移位置
console.log($("#box").position().left); // 200,父元素就是body
console.log($("#box").position().top); // 200
scrollTop() 获取垂直滚动条的值
scrollTop(value) 设置垂直滚动条的值
console.log($(window).scrollTop()); // 0
$(document).click(function () {
$(window).scrollTop(0); // 点击任意位置,置顶
});
时间: 2024-10-09 01:00:55