jQuery DOM 操作
jQuery 中非常重要的部分,就是操作 DOM 的能力。
jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。
提示:DOM = Document Object Model(文档对象模型)
DOM 定义访问 HTML 和 XML 文档的标准:
“W3C 文档对象模型独立于平台和语言的界面,允许程序和脚本动态访问和更新文档的内容、结构以及样式。”
获得内容 - text()、html() 以及 val()
- text() - 设置或返回所选元素的文本内容
- html() - 设置或返回所选元素的内容(包括 HTML 标记)
- val() - 设置或返回表单字段的值
实例
$("#btn1").click(function(){ alert("Text: " + $("#test").text()); }); $("#btn2").click(function(){ alert("HTML: " + $("#test").html()); });
获取属性 - attr()
jQuery attr() 方法用于获取属性值。
$("button").click(function(){ alert($("#w3s").attr("href")); });
text()、html() 以及 val() 的回调函数
上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
$("#btn1").click(function(){ $("#test1").text(function(i,origText){ return "Old text: " + origText + " New text: Hello world! (index: " + i + ")"; }); }); $("#btn2").click(function(){ $("#test2").html(function(i,origText){ return "Old html: " + origText + " New html: Hello <b>world!</b> (index: " + i + ")"; }); });
设置属性 - attr()
jQuery attr() 方法也用于设置/改变属性值。
$("button").click(function(){ $("#w3s").attr("href","http://www.w3school.com.cn/jquery"); });
attr() 的回调函数
jQuery 方法 attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
$("button").click(function(){ $("#w3s").attr("href", function(i,origValue){ return origValue + "/jquery"; }); });
添加新的 HTML 内容:
- append() - 在被选元素的结尾插入内容
- prepend() - 在被选元素的开头插入内容
- after() - 在被选元素之后插入内容
- before() - 在被选元素之前插入内容
删除元素/内容:
- remove() - 删除被选元素(及其子元素)
- empty() - 从被选元素中删除子元素
jQuery 操作 CSS:
- addClass() - 向被选元素添加一个或多个类
- removeClass() - 从被选元素删除一个或多个类
- toggleClass() - 对被选元素进行添加/删除类的切换操作
- css() - 设置或返回样式属性
jQuery parent() 方法
parent() 方法返回被选元素的直接父元素。
该方法只会向上一级对 DOM 树进行遍历。
$(document).ready(function(){ $("span").parent(); });
jQuery parents() 方法
parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)。
$(document).ready(function(){ $("span").parents(); });
jQuery parentsUntil() 方法
parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素。
$(document).ready(function(){ $("span").parentsUntil("div"); });
jQuery children() 方法
children() 方法返回被选元素的所有直接子元素。
该方法只会向下一级对 DOM 树进行遍历。
$(document).ready(function(){ $("div").children(); });
jQuery find() 方法
find() 方法返回被选元素的后代元素,一路向下直到最后一个后代
$(document).ready(function(){ $("div").find("span"); });
jQuery siblings() 方法
siblings() 方法返回被选元素的所有同胞元素。
$(document).ready(function(){ $("h2").siblings(); });
jQuery next() 方法
next() 方法返回被选元素的下一个同胞元素。
该方法只返回一个元素。
$(document).ready(function(){ $("h2").next(); });
jQuery nextAll() 方法
nextAll() 方法返回被选元素的所有跟随的同胞元素。
$(document).ready(function(){ $("h2").nextAll(); });
jQuery nextUntil() 方法
nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
$(document).ready(function(){ $("h2").nextUntil("h6"); });
jQuery first() 方法
first() 方法返回被选元素的首个元素。
$(document).ready(function(){ $("div p").first(); });
jQuery last() 方法
last() 方法返回被选元素的最后一个元素。
$(document).ready(function(){ $("div p").last(); });
jQuery eq() 方法
eq() 方法返回被选元素中带有指定索引号的元素。
$(document).ready(function(){ $("p").eq(1); });
jQuery filter() 方法
filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
$(document).ready(function(){ $("p").filter(".intro"); });
jQuery not() 方法
not() 方法返回不匹配标准的所有元素。
提示:not() 方法与 filter() 相反。
$(document).ready(function(){ $("p").not(".intro"); });