2017-08-28 1 views
0

Ich beziehe mich auf eine der SOF Antworten zum Sortieren der Alphabete in der zweiten Spalte mit Javascript, hier ist das Beispiel http://jsfiddle.net/mLYch/159/.Wie funktioniert JavaScript durch Ersetzen von bygetElementById durch getElementsByClass

In JS Seite hat es getElementById und ruft HTML-Tag mit der ID

<table id="caltbl"> 

var tbl = document.getElementById("caltbl").tBodies[0]; 

ich das gleiche mit der Klasse versucht, und es funktioniert nicht.

<table class="caltbl"> 

var tbl = document.getElementsByClass('caltbl').tBodies[0]; 

Kann jemand bitte assistieren, wie man das Skript ohne ID laufen lässt?

+0

'getElementsByClass' gibt immer eine Sammlung zurück. Also 'var tbl = document.getElementsByClass ('caltbl') [0] .tBodies [0];' –

Antwort

1

Benutzer .querySelector stattdessen ändern müssen, wenn Sie nur die erste wollen.

var tbl = document.querySelector('.caltbl > tbody'); 

Oder, wenn Sie mehrere wollen, eine Schleife mit .querySelectorAll verwenden.

Oder Sie können die Schleife mit .getElementsByClassName verwenden, wenn Sie bevorzugen.

+0

var tbl = document.querySelector ('. Caltbl> tbody'); hat funktioniert. – Prime

+0

Ehrfürchtig. Froh, dass es geholfen hat. – spanky

0

document.getElementsByClass ein Array zurückgibt (da kann mich mehr als ein Element mit dieser Klasse), so würden Sie Ihren Code

var tbl = document.getElementsByClass('caltbl')[0].tBodies[0]; 
Verwandte Themen