JQuery Dom操作总结

Posted 前端技术充电宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery Dom操作总结相关的知识,希望对你有一定的参考价值。

    


    一、JQuery对象的基本方法:
    (1) get(); 取得所有匹配的元素
    (2) get(index); 取得其中一个匹配的元素 $(this).get(0) 等同于 $(this)[0]
    (3) Number index(jqueryObj); 搜索子对象
    (4) each(callback); 类似foreach,不过遍历的是元素数组
        如:
            $("img".each(function(index){
               this.src = "test" + index + ".jpg";
            });
        使用 return false; return true; 代表 break、continue的
    (5) length、size(); 都是返回元素总数
    (6) jQuery.noConflict(true);   重设 jquery 默认的符号
        如:
            var dom = {};
            dom.query = jQuery.noConflict(true);
            这时将用 dom.query 代替 $

二、、JQuery选择器
    (1)基本:

        *                        匹配所有DOM元素
        .classname               匹配带有指定classname的DOM元素
        element(DOM标签名称)     匹配指定名称的所有DOM元素
    #id                      匹配指定ID的DOM元素
    ,                        用,分开表示匹配多个选择条件中的一个


    (2)层级:
        选择一[空格]选择二 表示选一内合符条件二的所有元素
        选择一[>]选择二     表示选一内合符条件二的第一个元素
        选择一[+]选择二     表示紧接选一符条件二的元素 next
        选择一[~]选择二     表示选一后符条件二的所有元素 siblings

    (3)运算符

        :animated           动画元素
        :eq(index)          索引位置,如:$("div:eq(1)"
        :even               偶数元素
        dd                奇数元素
        :first              第一个
        :gt(index)          大于索引的所有元素
        :lt(index)          小于索引的所有元素
        :header             H1、H2... 这些标题元素
        :last               最后一个
        :not(Selector)      排除
        :contains(string)   选择的对象内容里包含
        :empty              选择的对象内容为空
        :has(Selector)      含有
        :parent             与empty相反
        :first-child
        :last-child
        :nth-child(index)   第几个
        nly-child         唯一的子元素


    表单
    :text :checkbox :radio :image :file :submit :reset :password :button

    表单状态
    :checked :disabled :enabled :selected

    可见性
    : hidden :visible

    属性及其运算符
        [属性名称]        匹配包含给定属性的元素
        [att=value]       等同上面
        [att*=value]      模糊匹配
        [att!=value]      不能是这个值
        [att$=value]      结尾是这个值
        [att^=value]      开头是这个值
        [att1][att2][att3]...   匹配多个属性条件中的一个

三、JQuery DOM 的常用操作
    (是指通过选择器筛选得到DOM后可进行的常用操作,即是JQuery对象实例的方法)

1、属性操作(注:attr(name)、html()、val() 是只对第一个匹配元素操作的方法,其它都是对全部操作)
    attr(name); 获得匹配元素的第一个元素指定的属性
    attr(key, fn)、attr(key, value) 对所有匹配元素设定一个属性值,前者的第二个参数是一个函数,值即是这个函数的返回值
    attr(properties) 用键值对设定所有匹配元素设定一个或多个属性值,如:$("img".attr({ src: "test.jpg", alt: "Test Image" });
    removeAttr(name) 删除匹配元素指定属性值
    addClass(classname) 增加类名,即是增加 class 属性
    removeClass(classname)
    toggleClass(classname) 切换类名(存在则删除,不存在则增加)
    html()
    html(setvalue)
    text()
    text(setvalue)
    val()
    val(val)      对于普通元素,使用方法应该是 对象.val(设置值); 对于 select、radio等则用值表示要选中这个值的对象,如:
              $("#multiple".val(["value1", "value3"]);
              $("input".val(["checkvalue1", "checkvalue2"]);

2、筛选
    实际上筛选的方法很多都能通过选择器的运算符实现的,因此这里只列出一些特殊的操作方法。

    eq(index)、filter(expr)、hasClass(class)、is(expr)、not(expr)、

    filter(fn)           筛选出与指定函数返回值匹配的元素集合(这个函数内部将对每个对象计算一次
                     (类似 '$.each'). 如果调用的函数返回false则这个元素被删除,否则就会保留。)
            
    slice(start,[end])   选取一个匹配的子集

    map(callback)        将一组元素转换成其他数组(不论是否是元素数组)

    andSelf()     把所选的加入到当前元素集中
    end()         恢复前一个选择破坏后的状态

3、文档处理

    append(content)      向每个元素内容追加内容,content指:String, Element, jQuery 其中之一,以下同。

    appendTo(content)    以上面的相反,上面是向选中对象追加,这个是把选中对象向content选择的对旬追加

    prepend(content)、prependTo(content)、after(content)、before(content)

    replaceWith(content) 把选中元素用content替换
    replaceAll(selector) 把选择的对象用当前对象替换

    empty()
    remove([expr])
    clone()
    clone(true) 克隆时把事件一起克隆

4、CSS处理

    css(name)         访问第一个匹配元素的样式属性
    css(name,value)   在所有匹配的元素中,设置一个样式属性的值
    css(properties)   用键值对对其给值

    offset()          获得选中元素的位移,返回值为对象Object{top,left}

    height()、height(val)、width()、width(val)

四、JQuery对象的事件处理

1、全局操作

    (1) ready(fn)              DOM就绪时的事件,对于document事件可以简写为 $(function(){ ...   });

    (2) bind(type,[data],fn)   对所的匹配绑定一个事件data为传递给这个事件函数的附加对象
        如:
        $("p".bind("click", function(){
            alert( $(this).text() );
        });
        function handler(event) {
            alert(event.data.foo);
        }
        $("p".bind("click", {foo: "bar"}, handler)

    (3) one(type,[data],fn)           以上面的区别是这个事件只响应一次

    (4) trigger(type,[data])          在每一个元素上触发一次某事件

    (5) triggerHandler(type,[data])   只触发事件函数,但不触发浏览器的相同事件

    (6) unbind([type],[data])         删除绑定的事件

    (7) hover(overFn, outFn)          响应鼠标经过事件

    (8) toggle(fn1,fn2...)            每次点击鼠标后依次响应该不同的函数

2、固定事件
    在不带参数的情况下表示执行某事件,带参数则为设定某事件

    下面的事件能触发,也能设定:
        blur()、change()、click()、dblclick()、error()、focus()、keydown()、keypress()、keyup()、select()、submit()

    下面的事件只能设定,不能用JS触发:
        load(fn)、mousedown(fn)、mousemove(fn)、mouseout(fn)、mouseover(fn)、mouseup(fn)、resize(fn)、scroll(fn)、unload(fn)

五、效果
    hide()
    hide(speed,[callback])    用动画隐藏,callback 为动画完成时执行的函数
    show()
    show(speed,[callback])
    toggle()                 切换状态

    slideDown(speed,[callback])      通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。
    slideUp(speed,[callback])        通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。

    slideToggle(speed,[callback])    通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。

    fadeIn(speed,[callback])         通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。
    fadeOut(speed,[callback])        通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。
    fadeTo(speed,opacity,[callback]) 把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数。

    animate(params,options) 用于创建自定义动画的函数。
              params (Options) : 一组包含作为动画属性和终值的样式属性和及其值的集合
              options (Options) : 一组包含动画选项的值的集合。

    animate(params[,duration[,easing[,callback]]])

    duration、 easing 是预设的动画动作
    duration (String,Number) : (可选) 三种预定速度之一的字符串("slow", "normal", or "fast"或表示动画时长的毫秒数值(如:1000)
    easing (String) : (可选) 要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".


    dequeue()        从动画队列中移除一个队列函数
    queue()          返回指向第一个匹配元素的队列(将是一个函数数组)
    queue(callback) 在匹配的元素的动画队列中添加一个函数
    queue(queue)     将匹配元素的动画队列用新的一个队列来代替(函数数组)
    stop()           

六、AJAX

1、jQuery.ajax(options) 通过 HTTP 请求加载远程数据。


推荐阅读





每天分享 前后端 干货






以上是关于JQuery Dom操作总结的主要内容,如果未能解决你的问题,请参考以下文章

jquery总结04-DOM节点操作

JQuery Dom操作总结

JQuery总结:选择器归纳DOM遍历和事件处理DOM完全操作和动画

JQuery总结:选择器归纳DOM遍历和事件处理DOM完全操作和动画

前端知识点总结——jQuery(上)

原生js和Jquery操作DOM