什么是Legacy JavaScript和Javascript之间最大的区别是什么?

时间:2013-03-11 12:09:32

标签: javascript jquery legacy

我在这个网站上看到了JavaScript和jQuery之间的各种实践差异,我偶然发现了一些迄今为止我都不知道的东西,在这个链接上称为Legacy JavaScript: http://alittlecode.com/comparing-scripts-in-jquery-and-javascript-a-comparison-by-jeffrey-way/

选择元素 jQuery的

$('#container');

的JavaScript

var container = document.querySelector('#container');

旧版JavaScript

var container = document.getElementById('container');

它是什么,更现代的是什么,这里真的是什么?谢谢:

1 个答案:

答案 0 :(得分:2)

querySelector()是新Selectors API的一部分。它比简单getElementById()更灵活,更强大。

请查看W3C recommendation中的示例:

使用旧的getElementById():

var table = document.getElementById("score");
var groups = table.tBodies;
var rows = null;
var cells = [];

for (var i = 0; i < groups.length; i++) {
  rows = groups[i].rows;
  for (var j = 0; j < rows.length; j++) {
    cells.push(rows[j].cells[1]);
  }
}

使用querySelector():

var cells = document.querySelectorAll("#score>tbody>tr>td:nth-of-type(2)");

从这个例子可以看出,这两种方法在功能上并不相同。

另外,请注意,这些都不是Java Script语言本身的一部分,而是浏览器的DOM API。