zoukankan      html  css  js  c++  java
  • jQuery对象与dom对象

    一直以来对于通过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,开始的时候不理解,现在此案知道,原来jQuery获得的对象并不和我们平时使用getElementById获得的对象是一样的对象。所以一些新手就很迷惑,为什么${”#Element”}不能直接innerHTML,这就是原因所在,解决方式请看下文。

    jQuery对象与dom对象的转换
    只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。
    普通的dom对象一般可以通过$()转换成jquery对象。

    如:

    1. $(document.getElementById("msg"))

    则为jquery对象,可以使用jquery的方法。
    由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
    如:

    1. $("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]

    这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
    以下几种写法都是正确的:

    1. $("#msg").html();
    2. $("#msg")[0].innerHTML;
    3. $("#msg").eq(0)[0].innerHTML;
    4. $("#msg").get(0).innerHTML;

    jQuery查找对象是按照标准的dom层级关系来查找的

    如table中无论你是否有tbody,在查找子对象的时候都要按照table-->tbody-->tr的层级关系来查找

    关于this

    <input name="testThis" type="text" onchange="textThis(this)" />

    function textThis(obj)
    {
     //在引用自己用的this是dom对象
     alert($(obj).val());
    }

    该this为dom对象

    innerHTML和outerHTML

    innerHTML设置或获取对象起始和结束标签内的HTML

    outerHTML设置或获取对象及其内容的HTML形式

  • 相关阅读:
    CentOS7 配置163 yum源(详细步骤)
    从构建分布式秒杀系统聊聊分布式锁
    互联网架构“高并发”
    互联网架构“高可用”
    FineCMS
    layUI表单事件监听-事件监听机制简化处理
    界面优雅的UI框架layUI
    如果OCX使用onmousedown和onmouseup来决定指令发送和指令停止会不会有问题?
    CSS字体库font-face用法及跨域问题
    RequireJS被外部调用
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/1729462.html
Copyright © 2011-2022 走看看