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的复制网页内容到WORD的实现代码
Feb 16 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
Dec 11 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
Jan 08 Javascript
文本框文本自动补全效果示例分享
Jan 19 Javascript
JavaScript实现三阶幻方算法谜题解答
Dec 29 Javascript
Javascript基础教程之if条件语句
Jan 18 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
Angular通过指令动态添加组件问题
Jul 09 Javascript
发布一款npm包帮助理解npm的使用
Jan 03 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 Javascript
VsCode里的Vue模板的实现
Aug 12 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实现阳历阴历互转的方法
2015/10/28 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
jquery 日期分离成年月日的代码
2010/05/14 Javascript
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
python简单的函数定义和用法实例
2015/05/07 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
Python如何计算语句执行时间
2019/11/22 Python
Python ORM编程基础示例
2020/02/02 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
优秀教师的感人事迹
2014/02/04 职场文书
美术指导助理求职信
2014/04/20 职场文书
实习单位鉴定评语
2014/04/26 职场文书
销售个人求职信范文
2014/04/28 职场文书
社区服务活动总结
2014/05/07 职场文书
现实表现证明材料
2015/06/19 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
Python OpenCV超详细讲解基本功能
2022/04/02 Python