2017-02-14 2 views
-4

Ich bin für $ (‚# Liste‘) und document.getElementById („Liste“)

Meine Konsole Druck verschiedene Konsolenausgabe bekommen ist unten angegeben.

console.log($('#list')); 

console.log(document.getElementById("list")); 

Aber Ausgabe in der Konsole zeigt anders.

[select#list.form-control] 

<select id="list" class="form-control" size="10"><option>PHP</option><option>JavaScript</option></select> 

aber ich brauche die gleiche Ausgabe in Javascript wie jquery.

+2

Das Ergebnis der jQuery ist ein Array der 2. Ergebnisarten. Versuchen Sie folgendes in der Konsole: 'console.log ($ ('# list') [0]);' – artur99

+1

Probieren Sie $ (document.getElementById ("list")) – samsonthehero

Antwort

3

Dies ist zu erwarten, jQuery gibt den DOM-Knoten in einem jQuery-Objekt mit jQuery-Methoden zurück, während native Methoden wie getElementById nur den DOM-Knoten zurückgeben.

Wenn Sie den DOM-Knoten wollten, könnten Sie tun

console.log($('#list').get(0)); 

Es gibt keine Möglichkeit gibt, obwohl ein jQuery-Objekt ohne jQuery zurückzukehren, und tun

$(document.getElementById("list")) 

sinnlos ist, aber wenn Sie bereits ein nativer DOM-Knoten, können Sie es einfach in jQuery ->$(element)

4

wickeln Der Unterschied ist, weil $('#list') einezurückgibtund document.getElementById("list") gibt eine Element zurück.

Wenn Sie das Element von einem jQuery-Objekt abrufen möchten, greifen Sie auf den Index zu oder verwenden Sie get(). Alle unten die gleiche Ausgabe eines Element-Objekt geben:

console.log($('#list').get(0)); 
console.log($('#list')[0]); 
console.log(document.getElementById("list")); 

Wenn Sie ein jQuery-Objekt verwendet eine dieser zurückkehren wollen:

console.log($('#list')); 
console.log($(document.getElementId('list')); 

ist jedoch zu beachten, dass das zweite Beispiel in diesem Fall ist völlig überflüssig und nur der Vollständigkeit halber enthalten.

+1

Von was ich verstehen kann, OP wollen eine Ausgabe in Javascript wie er bekommt in jquery und nicht anders herum –

+0

Dies bedeutet schließlich, dass es nicht ganz möglich ist, ein jquery-Objekt in Javascript zu erhalten, ohne jquery zu verwenden :). Bin ich richtig –

+0

Das ist richtig. Sie könnten Ihre eigene Klasse erstellen, um ein jQuery-Objekt nachzuahmen, aber das ist ziemlich sinnlos - Sie können auch einfach nur jQuery verwenden –

Verwandte Themen