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入门教程
Aug 01 Javascript
jQuery 源码分析笔记(2) 变量列表
May 28 Javascript
jQuery中阻止冒泡事件的方法介绍
Apr 12 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
javascript实现根据时间段显示问候语的方法
Jun 18 Javascript
深入理解Node.js中通用基础设计模式
Sep 19 Javascript
vue-cli项目中怎么使用mock数据
Sep 27 Javascript
koa2实现登录注册功能的示例代码
Dec 03 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
Sep 23 Javascript
leaflet加载geojson叠加显示功能代码
Feb 21 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 Javascript
jdk1.8+vue elementui实现多级菜单功能
Sep 24 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 jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
PHP中预定义的6种接口介绍
2015/05/12 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
html读出文本文件内容
2007/01/22 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
python生成指定长度的随机数密码
2014/01/23 Python
python实现多线程的两种方式
2016/05/22 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
python自动点赞功能的实现思路
2020/02/26 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
师德师风建设方案
2014/05/08 职场文书
先进员工获奖感言
2014/08/14 职场文书
股东合作协议书
2014/09/12 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
小区环境卫生倡议书
2015/04/29 职场文书