Heim >Web-Frontend >js-Tutorial >Methode zum Konvertieren einer HTML-Zeichenfolge in ein JQuery-Dom-Objekt in Javascript_Javascript-Kenntnissen

Methode zum Konvertieren einer HTML-Zeichenfolge in ein JQuery-Dom-Objekt in Javascript_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 15:42:191242Durchsuche

Die ursprüngliche HTML-Zeichenfolge lautet wie folgt:

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. Als nächstes verwenden Sie die JQuery-Bibliothek, um die Textzeichenfolgenvariable in ein JQuery-Objekt zu konvertieren.

Der JQuery-Code lautet wie folgt:

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

Dabei konvertiert $(text) die Textzeichenfolge in ein Jquery-Objekt und verwendet schließlich html() des Jquery-Objekts, um den HTML-Inhalt in Form einer Zeichenfolge auszugeben. Das Ergebnis ist wie folgt:

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

Es zeigt, dass das $(text)Jquery-Objekt das äußerste HTML-Element div darstellt.

 2. Konvertieren Sie Jquery-Objekte und DOM-Objekte ineinander.

Der Code lautet wie folgt:

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

Hinweis: Der Unterschied zwischen DOM-Objekten und Jquery-Objekten

Nach meinem Verständnis sind Jquery-Objekte und DOM-Objekte gekapselte HTML-Elemente. Sie können HTML-Elementknoten bedienen, um die Programmierung zu erleichtern, aber einige Methoden zwischen ihnen können nicht gemeinsam genutzt werden, wie z. B. die html()-Methode des Jquery-Objekts Das DOM-Objekt kann nicht verwendet werden und die GetElementById() des DOM-Objekts kann nicht vom Jquery-Objekt verwendet werden. Daher kann bei Bedarf eine gegenseitige Konvertierung durchgeführt werden.

 3. Verwenden Sie js-Code, um die Textzeichenfolgenvariable in ein DOM-Objekt zu konvertieren.

JS-Code lautet wie folgt:

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

Der JS-Code, der die Textzeichenfolge in ein DOM-Objekt umwandelt, hängt also mit dem Browser zusammen. . . . . . Schreiben Sie separat. ​

Auf diese Weise wird die Konvertierung von HTML-Strings in Jquery-Objekte und DOM-Objekte realisiert.

Einführung in gegenseitige Konvertierungsmethoden zwischen jQuery-Objekten und Dom-Objekten

Wenn Sie jQuery zum ersten Mal erlernen, können Sie möglicherweise nicht erkennen, welche jQuery-Objekte und welche DOM-Objekte sind. Was das DOM-Objekt betrifft, gibt es nicht viele Erklärungen. Konzentrieren wir uns auf jQuery und die Konvertierung zwischen den beiden.

Was ist ein jQuery-Objekt?

---Es ist das Objekt, das durch Umschließen des DOM-Objekts durch jQuery generiert wird. Das jQuery-Objekt ist einzigartig für jQuery und kann Methoden in jQuery verwenden.

Zum Beispiel:

$("#test").html() bedeutet: Den HTML-Code im Element mit ID-Test abrufen. Unter diesen ist html() eine Methode in jQuery

Dieser Code entspricht der Verwendung von DOM zur Implementierung des Codes:

document.getElementById("id").innerHTML;
Obwohl das jQuery-Objekt nach dem Umschließen des DOM-Objekts generiert wird, kann jQuery keine Methode des DOM-Objekts verwenden. Ebenso kann das DOM-Objekt die Methoden in jQuery nicht verwenden, wenn es wahllos verwendet wird. Zum Beispiel: $("#test").innerHTML, document.getElementById("id").html() und andere Schreibmethoden sind falsch.

Zu beachten ist außerdem, dass das durch die Verwendung von #id als Selektor erhaltene jQuery-Objekt und das durch document.getElementById("id") erhaltene DOM-Objekt nicht gleichwertig sind. Bitte sehen Sie sich die Umrechnung zwischen den beiden unten an.

Da jQuery unterschiedlich, aber auch verwandt ist, können jQuery-Objekte und DOM-Objekte auch ineinander konvertiert werden. Bevor wir die beiden konvertieren, treffen wir zunächst eine Konvention: Wenn ein jQuery-Objekt erhalten wird, fügen wir $ vor der Variablen hinzu, wie zum Beispiel: var $variab = jQuery-Objekt, wenn ein DOM-Objekt erhalten wird, ist es dasselbe wie üblich: var variab = DOM-Objekt; diese Konvention dient nur der Vereinfachung der Erklärung und der Unterscheidung und ist in der tatsächlichen Verwendung nicht vorgeschrieben.

JQuery-Objekt in DOM-Objekt konvertieren:

Zwei Konvertierungsmethoden konvertieren ein jQuery-Objekt in ein DOM-Objekt: [index] und .get(index);

(1) Das jQuery-Objekt ist ein Datenobjekt, und das entsprechende DOM-Objekt kann über die Methode [index] abgerufen werden.

Zum Beispiel:

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

(2) jQuery selbst stellt das entsprechende DOM-Objekt über die .get(index)-Methode

bereit

Zum Beispiel:

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

DOM-Objekt in jQuery-Objekt konvertieren:

Bei einem DOM-Objekt müssen Sie das DOM-Objekt nur mit $() umschließen, um ein jQuery-Objekt zu erhalten. $(DOM-Objekt)

Zum Beispiel:

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

Nach der Konvertierung können Sie jede beliebige jQuery-Methode verwenden.

Mit den oben genannten Methoden können jQuery-Objekte und DOM-Objekte beliebig ineinander konvertiert werden. Es muss noch einmal betont werden, dass nur DOM-Objekte Methoden im DOM verwenden können und jQuery-Objekte keine Methoden im DOM verwenden können.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn