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 相关文章推荐
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
JavaScript表单验证实例之验证表单项是否为空
Jan 10 Javascript
简单讲解jQuery中的子元素过滤选择器
Apr 18 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
May 31 Javascript
jquery实现简单Tab切换菜单效果
Jul 17 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
JS使用setInterval实现的简单计时器功能示例
Apr 19 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
Jul 31 Javascript
JS实现Cookie读、写、删除操作工具类示例
Aug 28 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
Sep 03 Javascript
微信小程序API—获取定位的详解
Apr 30 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 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
Zerg兵种介绍
2020/03/14 星际争霸
php中截取字符串支持utf-8
2007/01/18 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
DOM 高级编程
2015/05/06 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
提升Python程序运行效率的6个方法
2015/03/31 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
西班牙手机之家:Phone House
2018/10/18 全球购物
联想C++笔试题
2012/06/13 面试题
前台接待的工作职责
2013/11/21 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
服务承诺书范文
2014/05/19 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
三八节祝酒词
2015/08/11 职场文书
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫