У меня есть некоторые проблемы при создании селектора в javascript.
Это мой код:querySelector vs. querySelectorAll
function __(selector){
var self = {};
self.selector = selector;
if(typeof selector == 'object'){
self.element = self.selector;
}else{
self.element = document.querySelector(self.selector);
}
// make a .css method to an element
self.css = function(propval){
return Object.assign(self.element.style,propval);
}
return self;
}
И мой HTML файл
<script src="js/selector.js"></script>
<script>
window.onload = function(){
__('p').css({'color':'red'});
}
</script>
<p>Hello</p>
<p>World</p>
<p>John</p>
Код выше будет применяться только .css method
в первом <p>
элемента. Это потому, что я использовал только querySelector
. Поскольку querySelector
выбирает только первый найденный элемент. И querySelectorAll
выбирает все найденные элементы. Но когда я пытаюсь изменить свой селектор на querySelectorAll
, он больше не работает для меня.
Я отправил ответ, имеющий poyfill для 'Object.assign', так как она не работает на IE11 и ниже ... и я думаю, что мы Ĉ antht drop IE11 пока еще :) – LGSon