remove dom.setText, use classList, document.head

This commit is contained in:
DanyaPostfactum 2013-02-06 12:54:20 +10:00
commit ebe03bbe70

View file

@ -39,15 +39,28 @@ exports.createElement = function(tag, ns) {
document.createElement(tag);
};
exports.setText = function(elem, text) {
if (elem.innerText !== undefined) {
elem.innerText = text;
}
if (elem.textContent !== undefined) {
elem.textContent = text;
}
if (typeof DOMTokenList === 'function') {
exports.hasCssClass = function(el, name) {
return el.classList.contains(name);
};
exports.addCssClass = function(el, name) {
el.classList.add(name);
};
exports.removeCssClass = function(el, name) {
el.classList.remove(name);
}
exports.toggleCssClass = function(el, name) {
el.classList.toggle(name);
}
exports.setCssClass = function(el, name, include) {
el.classList[include ? 'add' : 'remove'](name);
}
}
else {
exports.hasCssClass = function(el, name) {
var classes = el.className.split(/\s+/g);
return classes.indexOf(name) !== -1;
@ -105,6 +118,7 @@ exports.setCssClass = function(node, className, include) {
exports.removeCssClass(node, className);
}
};
}
exports.hasCssString = function(id, doc) {
var index = 0, sheets;
@ -143,7 +157,7 @@ exports.importCssString = function importCssString(cssText, id, doc) {
if (id)
style.id = id;
var head = doc.getElementsByTagName("head")[0] || doc.documentElement;
var head = doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
head.appendChild(style);
}
};
@ -156,7 +170,7 @@ exports.importCssStylsheet = function(uri, doc) {
link.rel = 'stylesheet';
link.href = uri;
var head = doc.getElementsByTagName("head")[0] || doc.documentElement;
var head = doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
head.appendChild(link);
}
};
@ -273,7 +287,7 @@ exports.getInnerText = function(el) {
if (document.body && "textContent" in document.body)
return el.textContent;
else
return el.innerText || el.textContent || "";
return el.innerText;
};
exports.getParentWindow = function(document) {