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 相关文章推荐
改版了网上的一个js操作userdata
Apr 27 Javascript
js 判断一个元素是否在页面中存在
Dec 27 Javascript
js数组Array sort方法使用深入分析
Feb 21 Javascript
node.js中的console.warn方法使用说明
Dec 09 Javascript
使用javascript实现json数据以csv格式下载
Jan 09 Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
Angular表单验证实例详解
Oct 20 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
May 16 Javascript
微信小程序实现录音时的麦克风动画效果实例
May 18 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
May 13 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中Smarty模板初体验
2011/08/08 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
详解js加减乘除精确计算
2019/03/19 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
django中的setting最佳配置小结
2017/11/21 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
Python序列类型的打包和解包实例
2019/12/21 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
pytorch实现查看当前学习率
2020/06/24 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
MYSQL支持事务吗
2013/08/09 面试题
化学相关工作求职信
2013/10/02 职场文书
自考自我鉴定范文
2013/10/30 职场文书
白血病募捐倡议书
2014/05/14 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
同学聚会通知短信
2015/04/20 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis
Android存储中最基本的文件存储方式
2022/04/30 Java/Android
centos7安装mysql5.7经验记录
2022/05/02 Servers