remove dom.setText, use classList, document.head
This commit is contained in:
parent
4b3f8a2a90
commit
ebe03bbe70
1 changed files with 74 additions and 60 deletions
|
|
@ -39,72 +39,86 @@ exports.createElement = function(tag, ns) {
|
||||||
document.createElement(tag);
|
document.createElement(tag);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.setText = function(elem, text) {
|
if (typeof DOMTokenList === 'function') {
|
||||||
if (elem.innerText !== undefined) {
|
exports.hasCssClass = function(el, name) {
|
||||||
elem.innerText = text;
|
return el.classList.contains(name);
|
||||||
}
|
};
|
||||||
if (elem.textContent !== undefined) {
|
|
||||||
elem.textContent = text;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.hasCssClass = function(el, name) {
|
exports.addCssClass = function(el, name) {
|
||||||
var classes = el.className.split(/\s+/g);
|
el.classList.add(name);
|
||||||
return classes.indexOf(name) !== -1;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
exports.removeCssClass = function(el, name) {
|
||||||
* Add a CSS class to the list of classes on the given node
|
el.classList.remove(name);
|
||||||
*/
|
|
||||||
exports.addCssClass = function(el, name) {
|
|
||||||
if (!exports.hasCssClass(el, name)) {
|
|
||||||
el.className += " " + name;
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
exports.toggleCssClass = function(el, name) {
|
||||||
* Remove a CSS class from the list of classes on the given node
|
el.classList.toggle(name);
|
||||||
*/
|
}
|
||||||
exports.removeCssClass = function(el, name) {
|
|
||||||
var classes = el.className.split(/\s+/g);
|
exports.setCssClass = function(el, name, include) {
|
||||||
while (true) {
|
el.classList[include ? 'add' : 'remove'](name);
|
||||||
var index = classes.indexOf(name);
|
}
|
||||||
if (index == -1) {
|
}
|
||||||
break;
|
else {
|
||||||
|
exports.hasCssClass = function(el, name) {
|
||||||
|
var classes = el.className.split(/\s+/g);
|
||||||
|
return classes.indexOf(name) !== -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add a CSS class to the list of classes on the given node
|
||||||
|
*/
|
||||||
|
exports.addCssClass = function(el, name) {
|
||||||
|
if (!exports.hasCssClass(el, name)) {
|
||||||
|
el.className += " " + name;
|
||||||
}
|
}
|
||||||
classes.splice(index, 1);
|
};
|
||||||
}
|
|
||||||
el.className = classes.join(" ");
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.toggleCssClass = function(el, name) {
|
/*
|
||||||
var classes = el.className.split(/\s+/g), add = true;
|
* Remove a CSS class from the list of classes on the given node
|
||||||
while (true) {
|
*/
|
||||||
var index = classes.indexOf(name);
|
exports.removeCssClass = function(el, name) {
|
||||||
if (index == -1) {
|
var classes = el.className.split(/\s+/g);
|
||||||
break;
|
while (true) {
|
||||||
|
var index = classes.indexOf(name);
|
||||||
|
if (index == -1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
classes.splice(index, 1);
|
||||||
}
|
}
|
||||||
add = false;
|
el.className = classes.join(" ");
|
||||||
classes.splice(index, 1);
|
};
|
||||||
}
|
|
||||||
if(add)
|
|
||||||
classes.push(name);
|
|
||||||
|
|
||||||
el.className = classes.join(" ");
|
exports.toggleCssClass = function(el, name) {
|
||||||
return add;
|
var classes = el.className.split(/\s+/g), add = true;
|
||||||
};
|
while (true) {
|
||||||
|
var index = classes.indexOf(name);
|
||||||
|
if (index == -1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
add = false;
|
||||||
|
classes.splice(index, 1);
|
||||||
|
}
|
||||||
|
if(add)
|
||||||
|
classes.push(name);
|
||||||
|
|
||||||
/*
|
el.className = classes.join(" ");
|
||||||
* Add or remove a CSS class from the list of classes on the given node
|
return add;
|
||||||
* depending on the value of <tt>include</tt>
|
};
|
||||||
*/
|
|
||||||
exports.setCssClass = function(node, className, include) {
|
/*
|
||||||
if (include) {
|
* Add or remove a CSS class from the list of classes on the given node
|
||||||
exports.addCssClass(node, className);
|
* depending on the value of <tt>include</tt>
|
||||||
} else {
|
*/
|
||||||
exports.removeCssClass(node, className);
|
exports.setCssClass = function(node, className, include) {
|
||||||
}
|
if (include) {
|
||||||
};
|
exports.addCssClass(node, className);
|
||||||
|
} else {
|
||||||
|
exports.removeCssClass(node, className);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
exports.hasCssString = function(id, doc) {
|
exports.hasCssString = function(id, doc) {
|
||||||
var index = 0, sheets;
|
var index = 0, sheets;
|
||||||
|
|
@ -143,7 +157,7 @@ exports.importCssString = function importCssString(cssText, id, doc) {
|
||||||
if (id)
|
if (id)
|
||||||
style.id = 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);
|
head.appendChild(style);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -156,7 +170,7 @@ exports.importCssStylsheet = function(uri, doc) {
|
||||||
link.rel = 'stylesheet';
|
link.rel = 'stylesheet';
|
||||||
link.href = uri;
|
link.href = uri;
|
||||||
|
|
||||||
var head = doc.getElementsByTagName("head")[0] || doc.documentElement;
|
var head = doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement;
|
||||||
head.appendChild(link);
|
head.appendChild(link);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -273,7 +287,7 @@ exports.getInnerText = function(el) {
|
||||||
if (document.body && "textContent" in document.body)
|
if (document.body && "textContent" in document.body)
|
||||||
return el.textContent;
|
return el.textContent;
|
||||||
else
|
else
|
||||||
return el.innerText || el.textContent || "";
|
return el.innerText;
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.getParentWindow = function(document) {
|
exports.getParentWindow = function(document) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue