Maison  >  Article  >  interface Web  >  Comment convertir une chaîne HTML en objet jquery dom en javascript

Comment convertir une chaîne HTML en objet jquery dom en javascript

不言
不言original
2018-06-12 14:38:182644parcourir

Les exigences récentes du projet consistent à développer une application liée à Baidu Maps. Vous devez extraire les éléments et les informations d'attribut souhaités à partir de la chaîne HTML codée en dur. Étant donné que les nœuds et les attributs des éléments sont exploités en js ou jq, dom l'est. objet utilisé ou objet jq. Ce qui suit présente la méthode de conversion d'une chaîne html en objet jquery dom en javascript. Les amis qui en ont besoin peuvent se référer à

La chaîne html originale est la suivante :

<.>

var text="<p 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;/>"
        + "</p>";

 

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) est le conversion de chaîne de texte Pour un objet Jquery, utilisez enfin le html() de l'objet Jquery pour sortir le contenu html sous la forme d'une chaîne

Le résultat est le suivant :


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

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

 

2. Convertissez les objets Jquery et les objets DOM les uns vers les autres.

Le code est le suivant :


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

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

À ma connaissance, 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 le html de Jquery. object.(), 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(&#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);
}

Le code js convertit la chaîne de texte dans le DOM, les objets dépendent du navigateur, donc. . . . . . É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 entre les objets jQuery et les objets dom

Lorsque vous commencez à apprendre jQuery, vous ne pourrez peut-être pas dire quels sont des objets jQuery et lesquels sont 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 les objets jQuery soient générés après avoir encapsulé des objets DOM, jQuery ne peut utiliser aucune méthode d'objet DOM. De même, les objets DOM ne peuvent pas utiliser de méthodes dans jQuery. S'ils sont utilisés 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'utilisation de #id comme sélecteur obtient l'objet jQuery et l'objet DOM obtenus par document.getElementById("id"), qui ne sont pas équivalents. Veuillez voir la conversion entre les deux ci-dessous.

Comme 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].

Tels que :

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

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

tel que :

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

L'objet DOM est converti en jQuery object :

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 les méthodes jQuery à volonté.

Grâce aux méthodes ci-dessus, les objets jQuery et les objets DOM peuvent être convertis les uns dans les autres arbitrairement. 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.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment modifier le contenu original du HTML via js


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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