在div中,具有属性的元素(不一定是第2代)move_id.
首先,想要最直接的方法来获取集合的第一个和最后一个元素
尝试获得第一个和最后一个:
var first = div.querySelector('[move_id]:first');
var last = div.querySelector('[move_id]:last');
Run Code Online (Sandbox Code Playgroud)
这个炸弹是因为:第一个和最后一个是我的一厢情愿(?)
不能使用Array方法,querySelectorAll因为NodeList不是数组:
var first = (div.querySelectorAll('[move_id]'))[0];
var last = (div.querySelectorAll('[move_id'])).pop();
Run Code Online (Sandbox Code Playgroud)
这个炸弹因为NodeList没有方法pop()
(是的,可以在NodeList之上使用Array方法:
var first = div.querySelector('[move_id]');
var last = Array.prototype.pop.call(div.querySelectorAll('[move_id']));
Run Code Online (Sandbox Code Playgroud)
这是有效的,也是我现在正在使用的,但我认为必须有一些更直接的东西,我只是缺少了)
其次,需要根据http://en.wikipedia.org/wiki/Tree_traversal验证元素是按照pre-oder深度优先遍历列出的