您的位置:首页 > Web前端 > JQuery

JavaScript中如何将html字符串转化为Jquery对象或者Dom对象

2017-08-15 18:09 951 查看
原文出处:http://www.cnblogs.com/mingjiatang/p/4746845.html

 最近在开发百度地图相关的一个应用,需要从硬编码的html字符串中提取自己想要的元素以及属性信息。但是在js中或者jQuery中操作元素节点以及属性都是使用DOM对象或者jquery对象。下面将介绍如何把html字符串转为Jquery对象或者DOM对象。
  原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对象的转换。
 

感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: