I am creating my own library in JavaScript. I already made some basic functions like .css()
, .text()
, and etc. It works for me but when I add the two methods in one element it only apply the first method and ignoring the second one.
For example:
__('p').text('Hello World').css({'color':'red'});
Only the hello world
will take effects, not the .css()
.
Here's my code:
function __(selector) {
var _kean = {};
_kean.selector = selector;
if (typeof selector == 'object' || typeof selector == 'undefined') {
_kean.element = [_kean.selector];
} else if (typeof selector == 'string') {
_kean.element = document.querySelectorAll(_kean.selector);
} else if (selector instanceof HTMLElement) {
_kean.element = [selector];
} else {
_kean.element = document.querySelectorAll(_kean.selector);
}
_kean.text = function(elems) {
return [].slice.call(_kean.element).map(function(el, i) {
if(!elems) return el.textContent;
return el.textContent = elems;
});
return _kean;
}
_kean.css = function(propval) {
_kean.element.forEach(function(elements) {
Object.assign(elements.style, propval);
});
return _kean;
}
return _kean;
}