Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
remove(), который удаляет ноду из родителя, если у нее есть родитель.insertBefore+createDocumentFragment вместо element.insertAdjacentHTML?insertAdjacentHTML вставляет только строку и интерпретирует как html, не?Конструкторы Event и CustomEvent реализованы во всех современных браузерах (уже больше года). Polyfill для старых браузеров.
Поддержка свойства reversed есть в Google Chrome. Для остальных браузеров есть Polyfill.В ночных сборках Firefox 18 поддержка атрибута
reversed тоже уже реализована.Код статьи выложен на github.
<source type="...">, т.к. markdown preview делает не поддерживаемую хабровским <source> разметку.global.HTMLSelectElement && function(HTMLSelectElementPrototype)
{
HTMLSelectElementPrototype.remove = function()
{
if (arguments[0] >= 0) this.remove(arguments[0]);
else this.parentNode && this.parentNode.removeChild(this);
};
}(window.HTMLSelectElement.prototype);
window.HTMLSelectElement && function(HTMLSelectElementPrototype)
{
var removeOption = HTMLSelectElementPrototype.remove;
HTMLSelectElementPrototype.remove = function()
{
if (arguments[0] >= 0) removeOption.call(this, arguments[0]);
else this.parentNode && this.parentNode.removeChild(this);
};
}(window.HTMLSelectElement.prototype);
var global = this, _tmp_, _Node_prototype = global.Node.prototype;
if((_tmp_ = global.HTMLSelectElement) && (_tmp_ = _tmp_.prototype) && ("remove" in _tmp_)) {
(function(_HTMLSelectElement_prototype, _HTMLSelectElement_remove) {
_HTMLSelectElement_prototype["remove"] = function(index) {
if(!arguments.length)_Node_prototype["remove"].call(this);
else _HTMLSelectElement_remove.apply(this, arguments);
}
})(_tmp_, _tmp_["remove"]);
}
try {
(function(HTMLSelectElementPrototype)
{
var removeOption = HTMLSelectElementPrototype.remove;
HTMLSelectElementPrototype.remove = function()
{
if (arguments.length)
removeOption.apply(this, arguments);
else
this.parentNode && this.parentNode.removeChild(this);
};
})(this.HTMLSelectElement.prototype);
} catch (e) {}
Новинки DOM API