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折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
Jan 22 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
javascript获取四位数字或者字母的随机数
Jan 09 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
Oct 12 Javascript
jQuery.deferred对象使用详解
Mar 18 Javascript
深入理解$.each和$(selector).each
May 15 Javascript
Angularjs 动态添加指令并绑定事件的方法
Apr 13 Javascript
ES6中Array.find()和findIndex()函数的用法详解
Sep 16 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
Vue中computed与methods的区别详解
Mar 24 Javascript
完美解决linux下node.js全局模块找不到的情况
May 16 Javascript
解决vue中虚拟dom,无法实时更新的问题
Sep 15 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
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
js数组的操作指南
2014/12/28 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
详解从Vue-router到html5的pushState
2018/07/21 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
node.js 如何监视文件变化
2020/09/01 Javascript
Python实现获取某天是某个月中的第几周
2015/02/11 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
python pytest进阶之fixture详解
2019/06/27 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python