jQuery如何将选中的对象转化为原始的DOM对象


Posted in Javascript onJune 09, 2014

在jQuery中,在一个页面上选择元素返回的集合是jQuery对象而不是原始的DOM对象. 所以只能运行jQuery方法. 如果要在选择集上运行DOM方法和属性,该集合必须转化为DOM对象

比如你不可以这样使用:

$('div').innerHTML = "hello world";

因为innerHTML是 DOM的属性而不是jQuery对象的属性.如果确实想这么做.那么就需要将jQuery对象转化为DOM对象.方法有两种.

①jQuery提供一种核心方法get(),所以上面的可以写成$('div').get().innerHTML = "hello world";

当然这里对应的是页面中只有一个div的情况.如果有多个div.

那么这种方法不好使,你需要修改一下代码,通过传递给get(index) 这样的索引值进行选择.

$("div").get(0).innerHTML = "hello world";

当然,你可以使用jQuery自带的$.each循环进行全部的赋值操作.

$div1 = $("div").get();

<span style="font-size:18px;">$.each($div1, function(index, val) { 
val.innerHTML = 'lc '+ index; 
});</span>

②我们可以使用[ ] 来使用数组的形式获取内容.

比如 $('div')[0].innerHTML = "hello world";

下面我们来看一个完整的例子吧.

<span style="font-size:18px;"><html> 
<head> 
<title></title> 
</head> 
<body> 
<h3>Books</h3> 
<ol> 
<li>Head First jQuery</li> 
<li>Data Structrue and Algorithm with Javascript</li> 
<li>Nodejs up and running</li> 
<li>Node js with PHP expert</li> 
<li>Sharp jQuery</li> 
<li>Professional Javascript</li> 
</ol> 
<script type="text/javascript" src="jquery-1.10.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
var lis = $('ol li').get().reverse(); 
$ol = $('ol'); 
$ol1 = $ol.clone(false, false); 
$ol1.empty(); 
$.each(lis, function(index, val) { 
$ol1.append('<li>'+val.innerHTML+'</li>'); 
}); 
$ol1.appendTo('body'); 
}); 
</script> 
</body> 
</html> 
</span>

下面我补充一下将DOM对象转化为jQuery对象的过程.

这里我使用的是这个例子.

<html> 
<head> 
<title></title> 
<style type="text/css"> 
.clicked{ 
width:100px; 
height: 40px; 
border: 1px solid #cba; 
border-radius: 3px; 
} 
</style> 
</head> 
<body> 
<a href="#" id="cli" onclick="click(this)">Click Me</a> 
<script type="text/javascript" src="jquery-1.10.2.min.js"></script> 
<script type="text/javascript"> 
function click(it){ 
$(it).addClass('clicked'); 
console.log('yes'); 
} 
</script> 
</body> 
</html>

这里就是用到了我们的DOM对象转化为jQuery对象的过程.

注意看: 其实it指的是我们的a这个链接对象.是普通的DOM对象,我们在onclick 事件中this传入.

然后我们用$()对DOM对象进行了封装,然后才可以使用addClass函数.

Javascript 相关文章推荐
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
JQuery UI皮肤定制
Jul 27 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
Feb 07 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
Dec 20 Javascript
基于jQuery实现选取月份插件附源码下载
Dec 28 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
Jan 05 Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 Javascript
jquery Ajax 全局调用封装实例详解
Jan 16 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
Jan 22 Javascript
JavaScript实现的选择排序算法实例分析
Apr 14 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
Aug 19 Javascript
javascript 处理null及null值示例
Jun 09 #Javascript
网页实时显示服务器时间和javscript自运行时钟
Jun 09 #Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 #Javascript
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 #Javascript
Node.js(安装,启动,测试)
Jun 09 #Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 #Javascript
javascript浏览器兼容教程之事件处理
Jun 09 #Javascript
You might like
php知道与问问的采集插件代码
2010/10/12 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
海量经典的jQuery插件集合
2010/01/12 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
jquery实现拖动效果
2016/08/10 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
Python协程的用法和例子详解
2017/09/09 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
理论讲解python多进程并发编程
2018/02/09 Python
Python创建或生成列表的操作方法
2019/06/19 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
python 利用toapi库自动生成api
2020/10/19 Python
办公室内勤岗位职责范本
2013/12/09 职场文书
营业员演讲稿
2013/12/30 职场文书
法律进社区实施方案
2014/03/21 职场文书
护校行动方案
2014/05/31 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
高中学校对照检查材料
2014/08/31 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
2015年个人思想总结
2015/03/09 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
PyTorch 如何自动计算梯度
2021/05/23 Python
Nginx配置https的实现
2021/11/27 Servers
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server