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 相关文章推荐
javascript 读取xml,写入xml 实现代码
Jul 10 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
Sep 29 Javascript
关于js中for in的缺陷浅析
Dec 02 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
Dec 10 Javascript
JQuery Tips相关(1)----关于$.Ready()
Aug 14 Javascript
js滚动条平滑移动示例代码
Mar 29 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
使用jQuery调用XML实现无刷新即时聊天
Aug 07 Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 Javascript
AngularJS用户选择器指令实例分析
Nov 04 Javascript
JS 60秒后重新发送验证码的实例讲解
Jul 26 Javascript
详解angularjs4部署文件过大解决过程
Dec 05 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中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
js 编程笔记 无名函数
2011/06/28 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
python TCP包注入方式
2020/05/05 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
python 如何将office文件转换为PDF
2020/09/22 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
管理专员自荐信
2014/01/26 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
2014年教研工作总结
2014/12/06 职场文书
推销搭讪开场白
2015/05/28 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
销售人员管理制度
2015/08/06 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python