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 相关文章推荐
TinyMCE 新增本地图片上传功能
Nov 05 Javascript
jquery $.ajax()取xml数据的小问题解决方法
Nov 20 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
javascript表单验证使用示例(javascript验证邮箱)
Jan 07 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
Apr 12 Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
xmlplus组件设计系列之列表(4)
Apr 26 Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 Javascript
基于vue实现分页效果
Nov 06 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 Javascript
JavaScript中使用Spread运算符的八种方法总结
Jun 18 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
javascript函数库-集合框架
2007/04/27 Javascript
JS location几个方法小姐
2008/07/09 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
js的回调函数详解
2015/01/05 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
2014自荐信的写作技巧
2014/01/28 职场文书
竞聘书模板
2014/03/31 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
致运动员赞词
2015/07/22 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书