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 相关文章推荐
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
Jul 24 Javascript
JavaScript 创建运动框架的实现代码
May 08 Javascript
javascript截取字符串小结
Apr 28 Javascript
SWFObject基本用法实例分析
Jul 20 Javascript
AngularJS学习笔记之依赖注入详解
May 16 Javascript
在IE8上JS实现combobox支持拼音检索功能
May 23 Javascript
判断iOS、Android以及PC端的示例代码
Nov 15 Javascript
一些可能会用到的Node.js面试题
Jun 15 Javascript
ES6基础之字符串和函数的拓展详解
Aug 22 Javascript
layui--js控制switch的切换方法
Sep 03 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
Nov 13 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 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
详解JavaScript中的this指向问题
2021/02/05 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
基于python时间处理方法(详解)
2017/08/14 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
Python实现的端口扫描功能示例
2018/04/08 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
如何给Python代码进行加密
2020/01/10 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
c语言常见笔试题总结
2016/09/05 面试题
当当网软件测试笔试题
2015/11/24 面试题
会计自我鉴定范文
2013/10/06 职场文书
主办会计岗位职责
2014/03/13 职场文书
实践单位评语
2014/04/26 职场文书
关于读书的演讲稿
2014/05/07 职场文书
教师节宣传方案
2014/05/23 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
毕业典礼邀请函
2015/01/31 职场文书
新人入职感言
2015/07/31 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle