Home >Web Front-end >JS Tutorial >Method to convert html string into jquery dom object in javascript_javascript skills

Method to convert html string into jquery dom object in javascript_javascript skills

WBOY
WBOYOriginal
2016-05-16 15:42:191274browse

The original html string is as follows:

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. Next, use the Jquery library to convert the text string variable into a Jquery object.

Jquery code is as follows:

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

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

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

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

In my understanding, Jquery objects and DOM objects are encapsulated html elements. You can operate html element nodes to facilitate programming, but some methods between them cannot be shared, such as the html() method of the Jquery object. , the DOM object cannot be used; and the GetElementById() of the DOM object cannot be used by the Jquery object. Therefore, mutual conversion can be performed when necessary.

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

js code is as follows:

/*字符串转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);
}

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 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 across 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 generated after wrapping the DOM object, 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 a DOM object: [index] and .get(index);

(1) The 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 the corresponding DOM object through the .get(index) method

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, 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 arbitrarily. What needs to be emphasized again is that only DOM objects can use methods in DOM, and jQuery objects cannot use methods in DOM.

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