我在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