DOM操作增删改查
通过 JavaScript,您可以重构整个HTML文档。您可以添加、移除、改变或重排页面上的项目。要改变页面的某个东西,JavaScript就需要对HTML文档中所有元素进行访问的入口。这个入口,连同对HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。
- 整个文档是一个文档节点
- 每个 HTML 标签是一个元素节点
- 包含在 HTML 元素中的文本是文本节点
- 每一个 HTML 属性是一个属性节点
- 注释属于注释节点
原生方式
1、获取
getElementById()、getElementsByTagName()、getElementsByName()、getAttribute()、setAttribute()、removeAttribute()
jQuery方式
一、节点的操作
1.查找节点:
var $var_1=$("htmltype"); //这句话就是获取所有htmltype节点
如:var $ul_1=$("ul");
2.创建并追加节点:
var $var_1=$("<htmltype>");//这句话是创建一个节点
$("htmltype2").append($var_1) ; //这句话是把节点插入所有htmltype2节点中
例子:var $li_1=$("<li title="title1">香蕉</li>");
$("ul").append($li_1);
其中插入方法有以下几种:
- append() 把B追加到A内部(所有的A元素,以下类似)
- appendTo() 把A追加到B内部
- prepend() 把B追加到A内部的内容前
- prependTo() 把A追加到B的内容前
- after() 在A后追加B
- insertAfter() 在A前追加B
- before() 在A前追加B
- insertBefore()在A后追加B
例子:$("ul").append("<li>你好</li>");//在ul内部追加li
$("<li>你好</li>").appendTo("ul");//在ul内部追加li
3.删除节点
- remove() 删除该元素
- empty() 清空节点,包括后代节点
例子:$("ul li:eq[1]").remove(); //获取ul中的第二个li并删除
$("ul li").remove(“li[title="菠萝"]”);//删除ul中li元素属性title="菠萝"的元素
4.复制节点
- clone();//复制本节点
例子:$("ul li:eq[1]").clone().appenTo("ul");//复制并追加到ul中,只复制是不会显示出来的
5.替换节点
- replaceWith();//将B替换所有A
- replaceAll();//将A替换所有B
6.包裹节点
- warpAll();//用B包裹A
- warpInner();//用B包裹A的内容
二.属性操作
1.获取和设置属性
var $var_1=$("p");//这句话是获取节点P
var $p_1=$var_1.attr("title");//获取节点P的title属性
var $p_2=$var_1.attr("title","你好");//设置节点P的title属性为"你好"
2.删除属性
$("p").removeAttr("title");//删除节点P的Title属性
三.样式操作
1.获取和设置样式
var $var_class=$("p").attr("class");//获取节点P的class属性
$("p").attr("class","class1");设置节点P的class属性为样式表类class1
2.追加样式
- addClass() 添加样式到A
例子:$("p").addClass("another");添加样式表类another类到P
3.移除样式
- removeClass() 移除类
4.切换样式
- toggleClass() 切换clss属性类为新的类
5.判断某个样式是否存在
- hasClass()
四.内容的操作
- html() 该方法获取html元素的内容,如:var var1=$("p").html();//获取P元素内的内容
- text() 获取或设置某个html元素的内容
- val() 获取元素的Value值
- children() 获取html元素的所有子节点
- next() 获取html元素后紧邻的同辈节点
- prev() 获取html元素前紧邻的同辈节点
- siblings() 获取html元素前后紧邻的同辈节点
五.CSS-DOM技术
- css("属性","值") 设置元素css某个属性的值,如:$("p").css("color","red");//设置P的css属性{color:red;}