这篇是jquery操作DOM的部分。
捕获元素和属性
获取内容和属性值
text()
:获取或设置元素的文本内容。
html()
:获取或设置元素的内容。
val()
:获取或设置表单字段的值。
实例:
1 2 3 4 5 6 7 8 9 10 11
| $("#btn1").click(function() { alert("Text: " + $("#test").text()); });
$("#btn2").click(function() { alert("HTML: " + $("#test").html()); });
$("#btn1").click(function() { alert("值为: " + $("#test").val()); });
|
实例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| $("button").click(function() { alert($("#runoob").attr("href")); });
$("button").click(function() { $("#runoob").attr("href", "http://www.runoob.com/jquery"); });
$("button").click(function() { $("#runoob").attr({ "href": "http://www.runoob.com/jquery", "title": "jQuery 教程" }); });
$("button").click(function() { $("#runoob").attr("href", function(i, origValue) { return origValue + "/jquery"; }); });
|
设置内容和属性值
设置内容和属性值使用的也是上面三个方法。
实例:
1 2 3 4 5 6 7 8 9 10 11
| $("#btn1").click(function() { $("#test1").text("Hello world!"); });
$("#btn2").click(function() { $("#test2").html("<b>Hello world!</b>"); });
$("#btn3").click(function() { $("#test3").val("RUNOOB"); });
|
设置内容可以有回调函数,回调函数有两个参数,第一个参数是被选元素列表中当前元素的下标,第二个参数是旧值。
实例:
1 2 3 4 5 6 7 8 9 10 11
| $("#btn1").click(function() { $("#test1").text(function(i, origText) { return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")"; }); });
$("#btn2").click(function() { $("#test2").html(function(i, origText) { return "旧 html: " + origText + " 新 html: Hello <b>world!</b> (index: " + i + ")"; }); });
|
tips
attr()
:自定义属性用attr()
prop()
:元素固有属性用prop()
添加元素
append()
:在被选元素中最后面插入内容。
prepend()
:在被选元素中最前面插入内容。
after()
:在被选元素后面插入内容。
before()
:在被选元素前面插入内容。
实例:
1 2
| $('p').append('abc'); $('p').prepend('abc');
|
实例:
1 2 3 4 5 6 7
| function appendText() { var text1 = '<p>文本-1。</p>'; var text2 = $("<p></p>").text("文本-2。"); var text3 = document.createElement("p"); text3.innerHTML = '文本'; $('p').append(text1, text2, text3); }
|
实例:
1 2
| $("img").after("在后面添加文本"); $("img").before("在前面添加文本");
|
实例:
1 2 3 4 5 6 7
| function afterText() { var text1 = '<p>文本-1。</p>'; var text2 = $("<p></p>").text("文本-2。"); var text3 = document.createElement("p"); text3.innerHTML = '文本'; $('p').after(text1, text2, text3); }
|
删除元素
remove()
:删除被选元素及其子元素。
empty()
:删除被选元素的子元素。
实例:
1 2
| $('div').remove(); $('div').empty();
|
还可以传一个参数(选择器)来选择要删除的元素:
1
| $("p").remove(".italic");
|
获取和设置css
操作css
addClass()
:给元素添加类。
removeClass()
:移除类。
toggleClass()
:切换添加删除类。
css()
:获得或者设置css属性。
实例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $("button").click(function() { $("h1,h2,p").addClass("blue"); $("div").addClass("important warn alert"); });
$("button").click(function() { $("h1,h2,p").removeClass("blue"); });
$("button").click(function() { $("h1,h2,p").toggleClass("blue"); });
$("p").css("background-color"); $("p").css("background-color","yellow"); $("p").css({"background-color":"yellow","font-size":"200%"}); $("p").eq(index).css();
|
jquery盒子模型
width()
:取得或设置元素的宽度。
height()
:取得或设置元素的高度。
innerWidth()
:取得元素的width加上左右padding。
innerHeight()
:取得元素的height加上上下padding。
outerWidth()
:取得元素的width加上左右padding和border-width。
outerHeight()
取得元素的height加上上下padding和border-width。