我在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>
上面的代码将只在第一<p>
元素应用.css method
。这是因为我只用了querySelector
。因为querySelector
只选择找到的第一个元素。并且querySelectorAll
选择找到的所有元素。但是,当我尝试将我的选择器更改为querySelectorAll
它不再适用于我。
我张贴具有'Object.assign'一个poyfill一个答案,因为它没有对IE11的工作和更低的作品,我觉得我们ç不要放弃IE11只是:) – LGSon