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 密码强度判断代码
Sep 05 Javascript
javascript 操作cookies及正确使用cookies的属性
Oct 15 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
Dec 11 Javascript
JavaScript mapreduce工作原理简析
Nov 25 Javascript
jQuery获得内容和属性方法及示例
Dec 02 Javascript
自己实现ajax封装示例分享
Apr 01 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
canvas实现刮刮卡效果
Mar 14 Javascript
Vue学习之路之登录注册实例代码
Jul 06 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
解决element ui select下拉框不回显数据问题的解决
Feb 20 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
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
Python内置函数OCT详解
2016/11/09 Python
python爬取个性签名的方法
2018/06/17 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
Python的Lambda函数用法详解
2019/09/03 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
个人对照检查材料
2014/02/12 职场文书
国庆宣传标语
2014/06/30 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
2014年食堂工作总结
2014/11/20 职场文书
Django实现聊天机器人
2021/05/31 Python