javascript中html字符串转化为jquery dom对象的方法


Posted in Javascript onAugust 27, 2015

原html字符串如下:

var text="<div id='overLay' style='width:50px;height:60px;background:url(imgs/back.png) left top no-repeat; position: absolute;'>"
        + "<img style='margin-left:4px;margin-top: 3px;' src='ima.png' width='43px' height='43px'/>"
        + "</div>";

 

1、下面使用Jquery库将text字符串变量转为Jquery对象。

Jquery代码如下:

alert($(text).html());

其中$(text)就text字符串转为了一个Jquery对象,最后将该Jquery对象的html()将html内容以字符串的形式输出,结果如下:

<img style='margin-left:4px;margin-top: 3px;' src='ima.png' width='43px' height='43px'/>

说明了,$(text)Jquery对象代表的是最外层的html元素div。

2、将Jquery对象和DOM对象之间互转。

代码如下:

var element= $(text).get(0) //element就是一个dom对象
var jqueryobj=$(element);//jqueryobj就是一个Jquery对象。

注意:DOM对象和Jquery对象区别

在我理解,Jquery对象和DOM对象都是封装的html元素,可以对html元素节点进行操作,方便编程,但是他们之间的方法有些是不能共用的,如Jquery对象的html()方法,DOM对象就使用不了;而DOM对象的GetElementById(),Jquery对象也不能使用。所以在必须要的时候可以进行相互转换。

3、使用js代码将text字符串变量转为DOM对象。

js代码如下:

/*字符串转dom对象*/
function loadXMLString(txt) 
{
  try //Internet Explorer
   {
     xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
     xmlDoc.async="false";
     xmlDoc.loadXML(txt);
     //alert('IE');
     return(xmlDoc); 
   }
  catch(e)
   {
     try //Firefox, Mozilla, Opera, etc.
      {
        parser=new DOMParser();
        xmlDoc=parser.parseFromString(txt,"text/xml");
       //alert('FMO');
        return(xmlDoc);
      }
     catch(e) {alert(e.message)}
   }
  return(null);
}

其中js代码将text字符串转为DOM对象与浏览器有关,所以。。。。。。分开写。

这样就实现了html字符串向Jquery对象和DOM对象的转换。

jQuery对象与dom对象相互转换方法介绍

刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象。至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换。

什么是jQuery对象?

---就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。

比如:

$("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法

这段代码等同于用DOM实现代码:

document.getElementById("id").innerHTML;
虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错。比如:$("#test").innerHTML、document.getElementById("id").html()之类的写法都是错误的。

还有一个要注意的是:用#id作为选择符取得的是jQuery对象与document.getElementById("id")得到的DOM对象,这两者并不等价。请参看如下说的两者间的转换。

既然jQuery有区别但也有联系,那么jQuery对象与DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是 jQuery对象,那么我们在变量前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。

jQuery对象转成DOM对象:

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);

(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

如:

var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象
alert(v.checked) //检测这个checkbox是否被选中

(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象

如:

var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中

DOM对象转成jQuery对象:

对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)

如:

var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象

转换后,就可以任意使用jQuery的方法了。

通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。

Javascript 相关文章推荐
JavaScript 应用技巧集合[推荐]
Aug 30 Javascript
js弹窗代码 可以指定弹出间隔
Jul 03 Javascript
js导入导出excel(实例代码)
Nov 25 Javascript
js返回上一页并刷新的多种实现方法
Feb 26 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
Jul 01 Javascript
15位和18位身份证JS校验的简单实例
Jul 18 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
Aug 16 Javascript
JS实现课堂随机点名和顺序点名
Mar 09 Javascript
Vue.js 插件开发详解
Mar 29 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
Aug 22 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
javascript触发模拟鼠标点击事件
Jun 26 Javascript
javascript 动态修改css样式方法汇总(四种方法)
Aug 27 #Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
Aug 27 #Javascript
javascript引用类型之时间Date和数组Array
Aug 27 #Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
Aug 27 #Javascript
jQuery手机拨号界面特效代码分享
Aug 27 #Javascript
JS实现自动切换文字的导航效果代码
Aug 27 #Javascript
javascript实现自动输出文本(打字特效)
Aug 27 #Javascript
You might like
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
深入理解PHP中的count函数
2016/05/31 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
python 快速排序代码
2009/11/23 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
python中调试或排错的五种方法示例
2019/09/12 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
python实现超级玛丽游戏
2020/03/18 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
货代行业个人求职简历的自我评价
2013/10/22 职场文书
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
三八妇女节慰问信
2015/02/14 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书
MySQL锁机制
2021/04/05 MySQL
Python道路车道线检测的实现
2021/06/27 Python
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
Java中的随机数Random
2022/03/17 Java/Android
Go 中的空白标识符下划线
2022/03/25 Golang