prototype.jsで出来ることをover JavaScript1.6でやるには?

XMLHTTPRequestまわりはひとまず置いておく。
これどうすんだよっていうのがあったら教えてください。
今のところまったくHTML5は関係ない記事になっている。
メモメモ。

$

$$([CSS Selector]).first()

document.querySelector([CSS Selector])

var element = document.querySelector('input[name=id]');
console.log(element.value);
$$([CSS Selector])

document.querySelectorAll([CSS Selector])

var elements = document.querySelectorAll('li.userProfile');
console.log(elements);

$A

Array.prototype.slice.call(arrayLikeObject, 0);

var $A = function(arrayLikeObject){
    return Array.prototype.slice.call(arrayLikeObject, 0);
}
var elements = $A(document.querySelectorAll('li.userProfile'));

Array

each

Array.forEach();

var numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(value){
    console.log(value);
});
// 1, 2, 3, 4, 5
inject

Array.reduce();


select(findAll)(ArrayではなくEnumerableですが

Array.filter();

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].filter(function(n) { return 0 == n % 2; })
// -> [2, 4, 6, 8, 10]

Element

toElement

だいぶ簡易、toElementの挙動は全部追ってないです(scriptタグのところとかとか)

var html = "<ul><li></li></ul>";
var tmpElement = document.createElement('div');
tmpElement.innerHTML = html;
var element = tmpElement.querySelector('*');
console.log(element);
addClassName, hasClassName, removeClassName

Element.classList

var element = querySelector('#popup');
element.classList.add('opened'); //addClassName
element.classList.contains('opened'); // hasClassName
element.classList.remove('opened'); // removeClassName

Event

observe

Element.addEventListener

var element = querySelector('input[type=submit]');
element.addEventListener('click', function(event){
    event.preventDefault();
    event.stopPropagation();
    console.log("イベントの伝搬を止めました");
});