jQuery之三(jQuery中的DOM操作)
(一)DOM操作分类
1)DOM Core:可处理任何使用标记语言编写的文档。如document.getElementsByTagName("form")获取表单对象, element.getAttribute("src")获取元素的src属性值。
2)HTML-DOM:只能处理web文档。如 document.forms , element.src
3)(与前一个颠倒CSS-DOM:主要用于获取和设置元素的style中的各种属性。如element.style.color="red"
(二)节点操作
1. 查找节点: 如 var $li = $("ul li:eq(1)");//获取对象 var fial = $li.attr("title");//获取其title属性的值
2. 创建节点:如 var $li = $("<li></li>");//创建一个li元素 $("ul").append($li);//插入到ul节点中
3. 插入节点
append()向每个匹配的元素内部追加, appendTo()把匹配的元素追加到指定元素(与前一个颠倒)[也可用来移动元素,先从原来位置删除,再追加到另一个上去], prepend()向每个匹配的元素内部前置内容, prependTo()(与前一个颠倒), after()向每个匹配的元素后面追加, insertAfter()(与前一个颠倒), before()在每个匹配的元素前面插入, insertBefore()(与前一个颠倒)
4. 删除节点
1)remove()、remove(带参数):如$(ul li:eq(1)).remove(); 、$(ul li).remove("li[title!="菠萝"]");
2)detach()与remove()用法一样,但是不会从jQuery对象中删除该元素,其所有绑定事件和附加数据会保留下来。
3)empty()清空元素里面的内容
5. 复制节点:如 $li.clone().appendTo("ul"); clone(true)复制元素的同时复制其所绑定事件。
6. 替换节点:replaceWith() , replaceAll()与前一个颠倒,所替换元素的绑定事件也消失了。
7. 包裹节点:对需要在文档中插入额外的结构化标记很有用。 wrap()
(三)属性操作
1. 获取属性和设置属性:atrr( )获取、attr( , )设置
注:类似即可获取又可设置的方法有html(),text(),height(),width(),val(),css()等。
2. 删除属性:removeAtrr()
(四)样式操作
1. 获取和设置
2. 追加: addClass()
注:若一个元素有多个class值,则合并其样式;若不同class设定了同一属性,则后者覆盖前者。
3. 移除:removeClass(),不带参数时将移除所有class值
4. 切换样式:toggle(),toggleClass()//重复切换类名
5. 判断是否含有某个样式:hasClass()
(五)设置和获取html、文本和值
1. html()读取或设置某个元素中的html内容,可用于xhtml文档,不能用于xml文档。
2. text()读取或设置某个元素中的文本内容,对html和xml文档均有效。
3. val()读取或设置某个元素的值
1)若元素为多选,则返回一个包含所有选择值的数组。
2)可通过val()方法改变下拉列表、复选框、单选框的选中值。
$(":checkbox").val(["check2","check3"]);//以数组形式赋值 == $("[value=check2]:checkbox").attr("checked",true);$("[value=check3]:checkbox").attr("checked",true);
PS. focus()获取焦点 blur失去焦点 defaultValue属性能获取到该表单元素的初始值。
4. 遍历节点
children()子元素而不是后代元素、next()后面紧邻的那个同辈元素、prev()前面紧邻的那个同辈元素、siblings()前后所有同辈元素、closest("li")向自身开始向上级找最近的li元素。 注意区分panrent(),parents()与closest()。
注:这些遍历DOM的方法,都可使用jQuery表达式作为他们的参数来筛选元素。
5. CSS-DOM操作:
可同时设置多个样式:$("p").css("font-size":"30px", back-ground:"#888888"); (推荐用法)== $("p").css(fontSize:"30px", backGround:"#888888");
透明度设置:$("p").css("opacity","0.5");
关于宽高:$("p").css("height"); ~ $("p").height();
6. offset()、position()、scrollTop()、srollLeft()
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。