Home >Web Front-end >JS Tutorial >How to convert html string into jquery dom object in javascript

How to convert html string into jquery dom object in javascript

高洛峰
高洛峰Original
2017-02-06 09:39:021221browse

The original html string is as follows:

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

1. Use the Jquery library to convert the text string variable into a Jquery object.

The Jquery code is as follows:

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

Where $(text) is the text string converted into a Jquery object, and finally the html() of the Jquery object is used to output the html content in the form of a string , the result is as follows:

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

It shows that the $(text)Jquery object represents the outermost html element div.

 2. Convert Jquery objects and DOM objects to each other.

The code is as follows:

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

Note: The difference between DOM objects and Jquery objects

As I understand it, Jquery objects and DOM objects are both encapsulated html Elements can operate on html element nodes to facilitate programming, but some of their methods cannot be shared. For example, the html() method of the Jquery object cannot be used with the DOM object; while the GetElementById() of the DOM object cannot be used with the Jquery object. Can't be used either. Therefore, mutual conversion can be performed when necessary.

 3. Use js code to convert the text string variable into a DOM object.

The js code is as follows:

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

The js code converting the text string into a DOM object is related to the browser, so. . . . . . Write separately.

In this way, the conversion of html strings to Jquery objects and DOM objects is realized.

Introduction to the mutual conversion methods between jQuery objects and dom objects

When you first start learning jQuery, you may not be able to tell which are jQuery objects and which are DOM objects. As for the DOM object, there is not much explanation. We have come into contact with too many. Let’s focus on jQuery and the conversion between the two.

What is a jQuery object?

---It is the object generated by wrapping the DOM object through jQuery. The jQuery object is unique to jQuery and can use methods in jQuery.

For example:

$("#test").html() means: get the html code in the element with ID test. Among them, html() is a method in jQuery

This code is equivalent to using DOM to implement the code:

document.getElementById("id").innerHTML;
Although the jQuery object is a wrapper It is generated after the DOM object, but jQuery cannot use any method of the DOM object. Similarly, the DOM object cannot use the methods in jQuery. If used indiscriminately, an error will be reported. For example: $("#test").innerHTML, document.getElementById("id").html() and other writing methods are wrong.

Another thing to note is that the jQuery object obtained by using #id as the selector and the DOM object obtained by document.getElementById("id") are not equivalent. Please see the conversion between the two below.

Since jQuery is different but also related, jQuery objects and DOM objects can also be converted to each other. Before converting the two, we first make a convention: if a jQuery object is obtained, then we add $ in front of the variable, such as: var $variab = jQuery object; if a DOM object is obtained, it is the same as usual. : var variab = DOM object; this convention is only for convenience of explanation and distinction, and is not stipulated in actual use.

Convert jQuery object to DOM object:

Two conversion methods convert a jQuery object into DOM object: [index] and .get(index);

(1 )jQuery object is a data object, and the corresponding DOM object can be obtained through the [index] method.

For example:

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

(2) jQuery itself provides, through the .get(index) method, the corresponding DOM object is obtained

For example:

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

Convert DOM object to jQuery object:

For a DOM object that is already a DOM object, you only need to wrap the DOM object with $() to get a jQuery object . $(DOM object)

For example:

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

After conversion, you can use any jQuery method.

Through the above methods, jQuery objects and DOM objects can be converted to each other at will. What needs to be emphasized again is that only DOM objects can use methods in DOM, and jQuery objects cannot use methods in DOM.

For more related articles on how to convert html strings in javascript into jquery dom objects, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn