jQuery对象&DOM对象的获取方式&互相转换

  1. DOM对象

使用JavaScript中的DOM API操作获得的元素对象叫DOM对象。文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。
使用举例:

<body>
    <p id="p1">P1</p>
    <p id="p2">P2</p>
    <button onclick="fun1()">Btn1</button>
    <button onclick="fun2()">Btn2</button>
</div>
<script>
   function fun1(){
       //获取指定id的DOM对象
       var p1=document.getElementById("p1");
       //将DOM对象的HTML修改为Fun1
       p1.innerHTML="Fun1";
   }
   function fun2(){
       //获取所有p标签元素
       var ps=document.getElementsByTagName("p");
       // 遍历
       $.each(ps, function(index,item){
           item.innerHTML="Fun2,"+index+","+ps.length;
       })
   }
</script>
</body>

示例中,p1是一个DOM对象,ps是一个DOM数组,innerHTML、length是DOM的属性。
获取DOM对象的方式总结:

document.getElementById();//通过id获取
document.getElementsByClassName();//通过Class名获取
document.getElementsByName();//通过name属性获取
document.getElementsByTagName();//通过标签名称获取

(如果定义了多个同名的id元素,则只有最初出现的同名id有效;jQuery同理)

  1. jQuery对象

jQuery对象是通过jQuery包装DOM对象后产生的。无论选择器匹配了0个或者多个元素,jQuery对象都不再是null,意味着只能用jQuery对象的length属性($("#h2").length)判断选择器是否选中了元素(因为jQuery对象是一个集合,包含了0个~多个DOM对象)。
DOM方法在jQuery中的替代方法(四种方法获取到的都是一个jQuery对象):

document.getElementById()——$("#id")
document.getElementsByClassName()——$(".class")
document.getElementsByName()——$("[name='zhangsan']"),限定在input标签范围内:$("input[name='lisi']")
document.getElementsByTagName()——$("p")
  1. DOM对象转为jQuery对象
<h2 id="h2">h2_Test</h2>
<script type="text/javascript">
    $(function () {
        var hd = document.getElementById("h2");// 获取DOM对象
        jQuery(hd).html("DOM->jquery");// jQuery(DOM对象)方式
        $(hd).html("Dom->jQuery");// 简写的$(DOM对象)方式
    })
</script>
  1. jQuery对象转为DOM对象
<h2 id="h2">h2_Test</h2>
<script type="text/javascript">
    $(function () {
        var hj = $("#h2");// 获取jQuery对象
        hj[0].innerHTML="jQuery->Dom";//使用[num]从jQuery集合中获取DOM对象
        hj.get(0).innerHTML="jquery->DOM";//使用get(num)从jQuery集合中获取DOM对象
    })
</script>

(使用以上两种方式从jQuery集合中获取DOM对象后,便只能调用DOM方法、属性与事件,不要误以为以上两种方式的结果依然为jQuery对象;
若想继续对DOM对象结果使用jQuery的方法、属性与事件,可以使用$(DOM对象)的方式)

  1. DOM对象与jQuery对象的区别

DOM对象是jQuery对象的组成部分,jQuery对象是对DOM对象的包装升级,每一个jQuery对象都是一个集合,每个集合中可以包含0到N个DOM元素。
(1) DOM对象只能调用DOM方法、属性与事件;
(2) jQuery对象只能调用jQuery方法、属性与事件;
(3) jQuery对象与DOM对象之间可以相互转换;
(4) $只是jQuery的别名形式;
(5) 每个jQuery对象都是DOM对象的集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值