从Javascript中删除输入的框影
Remove box-shadow of input from Javascript
我想通过javascript删除所有输入元素的框阴影。我已经试过了,但是行不通。
document.getElementsByTagName('input').style.boxShadow = '';
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");
getElementsByTagName()方法返回所有元素的集合
在文档中使用指定的标记名,作为NodeList对象。
你可以通过这种方式将NodeList对象快速转换为数组[...NodeList]
- 转换NodeList对象为数组
[...document.getElementsByTagName('input')]
- 然后使用
forEach
循环遍历元素
完整代码:
[...document.getElementsByTagName('input')].forEach( function(el){
el.style.boxShadow = 'none';
});
: -
var NodeList = document.getElementsByTagName('input');
[...NodeList].forEach( function( el, i ) {
if ( i === 1 ) return; // keep a box shadow for second input
if ( el.classList.contains('shadow') ) return; // keep a box shadow for shadow class
el.style.boxShadow = 'none';
});
input {
display: inline-block;
padding: 5px;
margin-top: 10px;
box-shadow: 0 0 5px #000;
}
<input name="input-1" type="text" value="Input 1" /><br/>
<input name="input-2" type="text" value="Input 2" /><br/>
<input name="input-3" type="text" value="Input 3" /><br/>
<input name="input-4" type="text" value="Input 4" /><br/>
<input class="shadow" name="input-5" type="text" value="Input 5" /><br/>
<input name="input-6" type="text" value="Input 6" />
相关文章:
- 如何在HTML输入字段中添加不可删除的后缀
- React 15使用空字符串删除输入值
- 主体单击删除功能上的输入框宽度
- 如何选择多个输入字段并删除所需的属性
- 从输入值中删除最后一个单词
- 删除输入中输入的符号
- 使用jquery删除输入框上的外部处理程序/库
- 附加和删除输入值的一部分
- 在Reactjs中添加和删除值未重置的输入字段
- 根据下拉选择向表单添加和删除输入标记
- 添加/删除/更改输入文本的部分值
- jQuery - 添加删除类 - 设置输入值
- 如何在单击时从输入字段中删除最后一个字符
- 删除ng模型中的ng模型输入值
- 在提交触发器之前从查询输入中删除标记
- 在粘贴事件Javascript的输入字段中删除所有非数字字符
- 如何从 Chrome 中的文件输入中删除“未选择文件”工具提示
- 尝试擦除时删除输入中的零
- 为收音机点击的输入添加值,然后删除
- 输入删除/撤消的事件处理程序