zoukankan      html  css  js  c++  java
  • JavaScript中如何将html字符串转化为Jquery对象或者Dom对象

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

      原html字符串如下:

    var text="<div id='overLay' style='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对象的转换。

  • 相关阅读:
    IE10、IE11下SCRIPT5009: “__doPostBack”未定义
    CSS Hack大全-可区分出IE6-IE10、FireFox、Chrome、Opera
    HTML head 头标签
    html5匹配不同分辨率样式
    html5关键帧动画,一个小例子快速理解关键帧动画
    导入Excel到数据库
    JavaScript树(一) 简介
    深入解析浏览器的幕后工作原理(五) 呈现树
    深入解析浏览器的幕后工作原理(四) DOM树
    深入解析浏览器的幕后工作原理(三) 呈现树和 DOM 树的关系
  • 原文地址:https://www.cnblogs.com/mingjiatang/p/4746845.html
Copyright © 2011-2022 走看看