码迷,mamicode.com
首页 > 其他好文 > 详细

DOM 基本操作

时间:2016-05-12 22:13:13      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

关于DOM
1.HTML 文档可以看成是一棵树,其中的内容是这棵树的节点
2.DOM 树上的节点之间有父子关系、兄弟关系
3.节点之间还有顺序关系
4.可以通过对 DOM 树的操作来修改 HTML 文档

文档处理
1.内部插入
    1)append(content|fn)  向每个标签的内部插入内容
            $(‘div‘).append(‘<p>培训</p>‘);
    2)appendTo(content)  
            $(‘<p>培训</p>‘).appendTo(‘div‘)
    3)prepend(content)  向每个元素内部的前部添加
            $(‘div‘).prepend(‘<p>培训</p>‘);
    4)prependTo(content)
            $(‘<p>培训</p>‘).prependTo(‘div‘)
2.外部插入
    1)after  在每个匹配元素之后插入
            $(‘div‘).after(‘<p>培训</p>‘)
    2)before 在每个匹配元素之前插入
            $(‘div‘).bofore(‘<p>培训</p>‘)
    3)insertAfter  把所有匹配的元素插入另一个元素之后 
            $(‘<p>培训</p>‘).insertAfter(‘div‘)
    4)insertBefore  把所有匹配的元素插入另一个元素之前 
            $(‘<p>培训</p>‘).insertBefore(‘div‘)
3.包裹
    1)wrap  将选中的标签包含一层wrap
            $(‘p‘).wrap(‘<div style="background:red"></div>‘)
    2)unwrap()
            $(‘p‘).unwrap() 只能去除前面 wrap 的标签,不能去除 标签中包含的文字
    3)wrapall  将所有的 标签作为一个整体包含一层 wrap
            $(‘p‘).wrapAll(‘<div style="background:red"></div>‘)
    4)wrapInner 将选择的标签的内部所有元素包含在一层 wrap 下
            $(‘div‘).wrapInner(‘<div style="background:red"></div>‘);
4.替换
    1)replaceWith()  选择的标签替换
            $(‘p‘).replaceWith(<p>培训</p>);
    2)replaceAll()  效果跟 replaceWith 一样
            $(<p>培训</p>).replaceAll(‘p‘)
5.删除
    1)empty()  清空子节点
            $(‘div‘).empty()
    2)remove([expr])  删除整个选择的标签
            $(‘div‘).remove()
            var elem = $(‘.cc‘).remove()   此时相当于剪切的效果
            $(‘div‘).after(elem)
    3)detach([expr])  与remove 不同的是,所有绑定的时间和附加的数据等都会被保留下来
            var elem = $(‘.cc‘).detach()   此时相当于剪切的效果
            $(‘div‘).after(elem)

            $(‘.cc‘).click(function(){   整个方法会被保留
                alert("####")
            })
6.克隆
    1)clone([Even[,deepEven]])
            $(‘.cc‘).clone(true).after(‘div‘)  将上 true 可以将原来的标签的时间也克隆一份
            
筛选操作
1.过滤
        1)eq(index)
                $(‘p‘).eq(1).css(‘color‘,‘red‘);
        2)first()
        3)last()
        4)filter()  筛选出指定匹配表达式的标签
                $(‘p‘).filter(‘.cc‘).css(‘color‘,‘red‘)
        5)is(expr|obj|ele|fn)  返回 Boolean 值
                $(‘p‘).click(function(){
                        if($(this).is(‘.cc‘)){
                                alert(‘###‘);
                        }
                })
        6)map(callback)  返回一组标签的文本
                var str = $(‘p‘).map(function(){
                       return $(this).text();
                }).get().join(‘, ‘);
        7)slice(index,len)  选择第 index 到 len 长度的标签
                $(‘p‘).slice(1,3).css(‘color‘,‘red‘)
2.查找
        1)find()
                $(‘div‘).find(‘p‘).css(‘color‘,‘red‘)          
        2)parent()
                $(‘.dd‘).parent().css(‘color‘,‘red‘)
        3)parents()  除根元素以外的元素都找到
                $(‘.dd‘).parents().css(‘color‘,‘red‘)
                $(‘.dd‘).parents(‘#aa‘).css(‘color‘,‘red‘)  找到祖先元素为 #aa 的元素与其之间的元素
        4)closest()  与 parents() 有区别,具体查看手册
                $(‘.dd‘).closest(‘#aa‘).css(‘color‘,‘red‘)
3.串联
        1)end()  回到最近的一个操作(具体的满足的操作看手册)之前
                $(‘div‘).find(‘.cc‘).end().css(‘color‘,‘red‘)   
属性操作
1.属性
        1)attr(name|pro|key , val|fn)
                $(‘:checkbox‘).eq(0).attr(‘value‘)  获取属性值
                $(‘:checkbox‘).eq(0).attr(‘value‘:‘zf‘)  更改属性值
                $(‘:checkbox‘).last().attr({name:‘zfsite‘,value:‘zf‘})  更改多个属性值
        2)removeAttr(name)
                $(‘:checkbox‘).eq(1).removeAttr(‘value‘)  删除属性值
                $(‘:checkbox‘).eq(1).removeAttr(‘name value‘) 删除多个属性值
        3)prop(n|p|k , v|f) 1.6+  使用与 attr() 方法相似
                区别:获取 checked、selected、disabled 等属性值时,如果使用 attr()
                            将 返回 undefined (字符串) ,而使用 prop() 则返回 false(布尔型)
        4)removeProp(name) 1.6+
2.Css 类
        1)addClass(class|fn)
        2)removeClass([class|fn])
        3)toggleClass(class|fn[,sw])
3.HTML代码/文本/值
        1)html([val|fn])  取得第一个匹配的元素的 html 代码 
        2)text([val|fn])  取得第一个匹配的元素的内容的值
        3)val([val|fn|arr]) 获取匹配元素的当前值
css 操作
1.CSS
        css(name|pro|[,val|fn])  1.8*
            $(‘span‘).css(‘display‘)
            $(‘span‘).css(‘color‘,‘blue‘)
            $(‘span‘).css({width:‘200px‘,color:‘blue‘})
2.位置
        1)offset([coordinates])
            var obj = $(‘button‘).offset()  获取相对偏移
            alert(‘top:‘+obj.top+‘;left:‘+obj.left);
        2)position()
        3)scrollTop([val])
        4)scrollLeft([val])
3.尺寸
        1)height([val|fn])
        2)width([val|fn])
        3)innerHeight()
        4)innerWidth()
        5)outerHeight([soptions])
        6)outerWidth([options])

附加内容:
        1)创建节点对象的方法
            $(‘<span>jQuery</span>‘)
        2)移动对象的常见实现方法
                1)插入方式
                        $(‘:checkbox:first‘).before($(‘:checkbox:eq(1)‘));
                2)剪切方式
                        调用 remove() 或 detach() 方法时,会删除当前节点,可以将
                        该节点赋值给变量,放到别的地方

在 jquery 中,有些方法既能返回值,又能设置值

DOM 基本操作

标签:

原文地址:http://blog.csdn.net/lyj1101066558/article/details/51353977

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!