002,Jquery对象和Js对象的区别与转换

Jquery对象和js对象的区别与转换


V哥官网:http://www.vgxit.com

本博客对应视频教程:http://www.vgxit.com/course/19

 


1,什么是Jquery对象

我们上节课学习了可以通过Jquery的$方法来获取对象,和我们原生的js代码获取到的对象是有一定的区别的。当然,也有一些联系,可以相互转换。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Jq对象和Js对象相互转换</title>
        <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    </head>
    <body>
        <p id="name1">李一桐</p>
        <p id="name2">鞠婧祎</p>
        <script type="text/javascript">
            //通过原生js代码获取所有的p
            var ps = document.getElementsByTagName("p");
            alert(ps);
            alert(ps.length);

            //通过jquery的方式获取所有的p标签
            var jps = $("p");
            alert(jps.length);
        </script>
    </body>
</html>

从上面代码,我们可以看到,我们的原生获取元素和jquery获取元素好像没有什么区别。但是老师告诉一下大家,他们有一个核心的区别。

比如我们上面的所有元素,我们要把对应的标签文本都修改为"Hello Vge"怎么做?

如果是用原生的,我们是如下代码:

var ps = document.getElementsByTagName("p");
for (var i = 0; i < ps.length; i++) {
    ps[i].innerText = "Hello V Ge!";
}

如果我们采用jquery的方式获取元素,那么我们要实现修改标签文本的功能怎么做?

var jps = $("p");
jps.text("Hello V ge 1111");

我们可以看到我们使用Jquery的时候,Jquery对应的代码要方便很多。并且原生的方式获取到的元素在Jquery中不是通用的。


2,Jquery对象和Js对象之间的转换

1,Js对象转化为Jquery对象(重点):

这个真的是太简单了,就是我们只需要加一个$符号就好了:

var obj = 原生js对象;
var jobj = $(obj);
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Jq对象和Js对象相互转换</title>
        <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    </head>
    <body>
        <p id="name1">李一桐</p>
        <p id="name2">鞠婧祎</p>
        <script type="text/javascript">
            var ps = document.getElementsByTagName("p");
            var jps = $(ps);
            jps.text("Hello Ju Jingyi");
        </script>
    </body>
</html>

2,Jquery对象转化为Js对象:

我们知道,我们通过$获取到了多个元素,封装成了一个对象。这个对象就是一个Jquery对象。但是这个对象可以当做数组来访问,而我们通过数组访问到的具体的每一个元素就是原生对象。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Jq对象和Js对象相互转换</title>
        <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    </head>
    <body>
        <p id="name1">李一桐</p>
        <p id="name2">鞠婧祎</p>
        <script type="text/javascript">
            var ps = $("p");
            for (var i = 0; i < ps.length; i++) {
                ps[i].innerText = "Hello Jquery";
            }
        </script>
    </body>
</html>

我们除了用数组的方式来访问到这个原生对象之外,我们还可以使用.get(index)的方式来获取原生对象:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Jq对象和Js对象相互转换</title>
        <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    </head>
    <body>
        <p id="name1">李一桐</p>
        <p id="name2">鞠婧祎</p>
        <script type="text/javascript">
            var ps = $("p");
            for (var i = 0; i < ps.length; i++) {
                ps.get(i).innerText = "Hello Jquery 11111";
            }
        </script>
    </body>
</html>

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

V哥学It

赏小的一个钱吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值