Web 前端开发 让前端飞

jQuery学习笔记——DOM操作

2017-07-20  本文已影响0人  远远暖暖

DOM文档对象模型,是一种与浏览器、平台、语言无关的接口,使用该接口可以轻松访问页面中所有标准组件。

DOM操作的分类

1、DOM Core(核心)
不专属于JavaScript ,任何DOM的编程都可使用它。
2、HTML-DOM
代码通常比较短,只能用来处理web文档。
3、CSS-DOM
针对CSS的操作。在JavaScript中,它的作用是获取和设置style对象的各种属性。

jQuery中的DOM操作

查找节点
1、查找元素节点
2、查找属性节点:
在jQuery选择器查找到需要的元素后,使用attr()方法获取获取属性值。

创建节点
1、创建元素节点
(1)创建新元素
(2)将新元素插入到文档中

var li_1 = $("<li>hello</li>");
$("ul").append($li_1);

2、创建文本节点
在上一步的基础上添加内容

3、创建属性节点
在创建元素节点时一起创建属性节点

插入节点

方法 描述
append() 向每个匹配的元素内部追加内容
appendTo() 将所有匹配的元素追加到指定的元素中。$(A).append(B)的意思是将A加到B中
prepend() 向每个匹配的元素内部前置内容
prependTo() 将所有匹配的元素前置到指定元素中。$(A).prependTo(B)的意思是将A前置到B中
after() 在每个匹配的元素后插入内容
insertAfter() 将所有匹配的元素插入到指定元素的后面。$(A).insertAfter(B)的意思是将A插入到B的后面
before() 在每个匹配的元素之前插入内容
insertBefore() 将所有匹配的元素插入到指定元素的前面。$(A).insertBefore(B)的意思是将A插入到B的前面

删除节点

区别:当删除使用的是detach()时,点击被删除项的alert时,是有alert效果的,如果删除换成remove(),则不会有alert效果

//html代码
<ul>
    <li title="苹果">苹果</li>
    <li title="橘子">橘子</li>
    <li title="菠萝">菠萝</li>
</ul>
//jQuery代码
$("ul li").click(function(){
        alert( $(this).html() );
    })
    var $li = $("ul li:eq(1)").detach();
    $li.appendTo("ul");

复制节点
通过鼠标拖动一个对象,拖动功能就是复制节点。使用clone()方法。
复制节点后,被复制的新元素不具有任何行为,如果需要新元素也具有复制功能,可以在clone()方法中传递参数true。

有无参数区别:
有参数:点击<li>标签下的字,在下方也会出发click效果。
无参数:只能点击<li>标签内的字,在下方才会出发click效果。

//html代码
<ul>
    <li title="苹果">苹果</li>
    <li title="橘子">橘子</li>
    <li title="菠萝">菠萝</li>
</ul>
//jQuery代码
$("ul li").click(function(){
    $(this).clone(true).appendTo("body");
})
有参数.png

替换节点
replaceWith()和replaceAll()方法

包裹节点
如果要将某个节点用其他标记包裹起来,就用wrap()方法。该方法对于需要在文档中插入额外的结构化标记非常有用,且不会破坏原始文档的语义。

$("strong").wrap("<b></b>");
的意思为
<b><strong title="选择你最喜欢的水果">你最喜欢的水果是?</strong></b>

包裹节点还有其他两个方法:

属性操作

//获取p元素的节点属性title
var $para = $("p");
var p_txt = $para.attr("title");
//设置属性
$p("p").attr("title","your title");
//设置多个属性
$("p").attr({"title":"your title","name":"test"});

样式操作

//获取样式和设置样式
var p_class = $("p").attr("class");
$("p").attr("class","high");
//移除指定属性样式
$("p").removeClass("high another");
//移除所有class
$("p").removeClass();

设置和获取html、文本和值

遍历节点

方法 描述
parent() 获得集合中每个匹配元素的父级元素
parents() 获得集合中每个匹配元素的祖先元素(它找到第一个父节点后没有停止,而是继续寻找,最后返回多个父节点)
closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素

CSS-DOM操作
css()方法可以获取和设置元素的样式属性
注意:1、如果值是数字,将会被自动转为像素值
2、如果属性带有“-”符号,如果在设置属性的值时不带引号,就要用驼峰写法,如果带上引号,则可以写成font-size或者fontSize。 建议最好带引号~

上一篇下一篇

猜你喜欢

热点阅读