最佳答案
在 div 中,使用具有 move_id
属性的元素(不一定是第二代)。
首先,要想最直接的方式获取集合的第一和最后两个元素
试图获得第一和最后通过:
var first = div.querySelector('[move_id]:first');
var last = div.querySelector('[move_id]:last');
这个炸弹是因为: first 和: last 都是我一厢情愿的想法(?)
不能使用 querySelectorAll
的 Array 方法,因为 NodeList
不是 Array:
var first = (div.querySelectorAll('[move_id]'))[0];
var last = (div.querySelectorAll('[move_id'])).pop();
这个炸弹是因为 NodeList
没有方法 pop()
(是的,可以在 NodeList 之上使用 Array 方法:
var first = div.querySelector('[move_id]');
var last = Array.prototype.pop.call(div.querySelectorAll('[move_id']));
这是有效的,也是我现在正在使用的方法,但是我认为应该有一些更直接的东西,我只是忽略了)
其次,需要验证元素是否按照 http://en.wikipedia.org/wiki/Tree_traversal通过预序列深度优先遍历列出的