2014-03-24 191 views
1

我想通过javascript删除所有输入元素的阴影框。我已经尝试过,但它不起作用。从Javascript删除输入框阴影

document.getElementsByTagName('input').style.boxShadow = ''; 
+0

没有jQuery的,mootools的要不然 ? –

+0

我是初学者,不知道jQuery。有可能只与JavaScript? – Martin

+0

为什么你不能删除CSS中的样式? – Bojangles

回答

4
Array.prototype.forEach.call(document.getElementsByTagName('INPUT'), function(el) { 
    el.style.boxShadow = ''; 
}); 

getElementsByTagName返回NodeList,这是有点像一个Array;拥有length财产,并且是可枚举的,但没有其他的好东西。

下面是你应该更喜欢一种替代方案:

var elements = document.getElementsByTagName('INPUT'); 
var len = elements.length; 
for(var i = 0; i < len; ++i) { 
elements[i].style.boxShadow = ''; 
} 

但如果我是你,我想我的时间投入到学习jQuery的,因为这样的:

$("input").css("boxShadow", "none"); 
+0

如果您只需要'forEach',则不必通过'slice'去; 'Array.prototype.forEach.call(document.getElementsByTagName('input'),function(e){console.log(e);});'' –