如何通过用getElementsByClass替换bygetElementById来使JavaScript工作

时间:2017-08-28 00:34:47

标签: javascript jquery html

我指的是使用javascript对第二列中的字母排序的SOF答案之一,这里是示例http://jsfiddle.net/mLYch/159/

在JS方面,它有getElementById并调用带有id

的HTML标记
 <table id="caltbl">

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

我在课堂上尝试了同样的方法但是没有用。

 <table class="caltbl">

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

有人可以协助如何使用make来运行没有ID的脚本吗?

2 个答案:

答案 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循环。

答案 1 :(得分:0)

document.getElementsByClass返回一个数组(因为我可以使用该类的多个元素),因此您必须将代码更改为

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