Maison  >  Article  >  interface Web  >  Méthode pour convertir une chaîne HTML en objet jquery dom dans les compétences javascript_javascript

Méthode pour convertir une chaîne HTML en objet jquery dom dans les compétences javascript_javascript

WBOY
WBOYoriginal
2016-05-16 15:42:191212parcourir

La chaîne html d'origine est la suivante :

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. Ensuite, utilisez la bibliothèque Jquery pour convertir la variable de chaîne de texte en un objet Jquery.

Le code Jquery est le suivant :

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

Où $(text) convertit la chaîne de texte en un objet Jquery, et utilise enfin le html() de l'objet Jquery pour afficher le contenu html sous la forme d'une chaîne. Le résultat est le suivant :

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

Cela montre que l'objet $(text)Jquery représente l'élément html div le plus externe.

 2. Convertissez les objets Jquery et les objets DOM entre eux.

Le code est le suivant :

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

Remarque : La différence entre les objets DOM et les objets Jquery

D'après ma compréhension, les objets Jquery et les objets DOM sont des éléments HTML encapsulés. Vous pouvez utiliser des nœuds d'éléments HTML pour faciliter la programmation, mais certaines méthodes entre eux ne peuvent pas être partagées, comme la méthode html() de l'objet Jquery. L'objet DOM ne peut pas être utilisé ; et le GetElementById() de l'objet DOM ne peut pas être utilisé par l'objet Jquery. Par conséquent, une conversion mutuelle peut être effectuée si nécessaire.

 3. Utilisez le code js pour convertir la variable de chaîne de texte en un objet DOM.

le code js est le suivant :

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

Le code js convertissant la chaîne de texte en objet DOM est donc lié au navigateur. . . . . . Écrivez séparément. ​

De cette manière, la conversion des chaînes html en objets Jquery et objets DOM est réalisée.

Introduction aux méthodes de conversion mutuelle entre objets jQuery et objets dom

Lorsque vous commencez à apprendre jQuery, vous ne pourrez peut-être pas distinguer quels sont des objets jQuery et lesquels sont des objets DOM. Quant à l'objet DOM, il n'y a pas beaucoup d'explications. Nous en avons rencontré trop. Concentrons-nous sur jQuery et la conversion entre les deux.

Qu'est-ce qu'un objet jQuery ?

---C'est l'objet généré en encapsulant l'objet DOM via jQuery. L'objet jQuery est unique à jQuery et peut utiliser des méthodes dans jQuery.

Par exemple :

$("#test").html() signifie : récupérer le code html dans l'élément avec l'ID test. Parmi eux, html() est une méthode dans jQuery

Ce code équivaut à utiliser DOM pour implémenter le code :

document.getElementById("id").innerHTML;
Bien que l'objet jQuery soit généré après avoir enveloppé l'objet DOM, jQuery ne peut utiliser aucune méthode de l'objet DOM. De même, l'objet DOM ne peut pas utiliser les méthodes de jQuery. S'il est utilisé sans discernement, une erreur sera signalée. Par exemple : $("#test").innerHTML, document.getElementById("id").html() et d'autres méthodes d'écriture sont incorrectes.

Une autre chose à noter est que l'objet jQuery obtenu en utilisant #id comme sélecteur et l'objet DOM obtenu par document.getElementById("id") ne sont pas équivalents. Veuillez voir la conversion entre les deux ci-dessous.

Étant donné que jQuery est différent mais également lié, les objets jQuery et les objets DOM peuvent également être convertis les uns aux autres. Avant de convertir les deux, nous faisons d'abord une convention : si un objet jQuery est obtenu, alors nous ajoutons $ devant la variable, comme : var $variab = objet jQuery ; si un objet DOM est obtenu, c'est la même chose que habituel. : var variab = objet DOM ; cette convention est uniquement destinée à faciliter l'explication et la distinction, et n'est pas stipulée dans l'utilisation réelle.

Convertir un objet jQuery en objet DOM :

Deux méthodes de conversion convertissent un objet jQuery en objet DOM : [index] et .get(index);

(1) L'objet jQuery est un objet de données et l'objet DOM correspondant peut être obtenu via la méthode [index].

Par exemple :

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

(2) jQuery lui-même fournit l'objet DOM correspondant via la méthode .get(index)

Par exemple :

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

Convertir un objet DOM en objet jQuery :

Pour un objet DOM, il vous suffit d'envelopper l'objet DOM avec $() pour obtenir un objet jQuery. $(Objet DOM)

Par exemple :

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

Après la conversion, vous pouvez utiliser n'importe quelle méthode jQuery.

Grâce aux méthodes ci-dessus, les objets jQuery et les objets DOM peuvent être convertis arbitrairement les uns dans les autres. Ce qu'il faut souligner à nouveau, c'est que seuls les objets DOM peuvent utiliser des méthodes dans le DOM et que les objets jQuery ne peuvent pas utiliser de méthodes dans le DOM.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn