2017-08-28 33 views
0

我指的是使用javascript對第二列中的字母進行排序的SOF答案之一,這裏是示例http://jsfiddle.net/mLYch/159/如何通過使用getElementsByClass替換bygetElementById來使JavaScript工作

在JS方面,它具有的getElementById並調用HTML標籤ID

<table id="caltbl"> 

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

我試圖與類相同,這是行不通的。

<table class="caltbl"> 

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

有人可以請幫助如何使用使腳本運行沒有ID?

+0

'getElementsByClass'總是返回一個集合。所以'var tbl = document.getElementsByClass('caltbl')[0] .tBodies [0];' –

回答

1

用戶.querySelector代替,如果你只想要第一個。

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

或者,如果你想多,使用循環與.querySelectorAll

var tbls = document.querySelectorAll('.caltbl > tbody:first-of-type'); 
for (var i = 0; i < tbls.length; i++) { 
    var tbl = tbls[i]; 
    // ... 
} 

或者如果您願意的話,您可以使用循環.getElementsByClassName

+0

var tbl = document.querySelector('。caltbl> tbody');工作。 – Prime

+0

太棒了。很高興幫助。 – spanky

0

document.getElementsByClass返回一個數組(因爲我能與該類多個元素),所以你不得不更改您的代碼

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