不显示::使用JavaScript清除伪元素
我想禁用/删除/不显示IE中输入字段中出现的按钮。如何执行以下操作不显示::使用JavaScript清除伪元素,javascript,pseudo-element,Javascript,Pseudo Element,我想禁用/删除/不显示IE中输入字段中出现的按钮。如何执行以下操作 input[type=text]::-ms-clear { display: none; } 使用JavaScript?如果更简单的话,在每个HTMLInputElement上这样做就足够了 (我不希望使用任何外部库,如jQuery)伪元素似乎是只读的?我正在努力 window.getComputedStyle(this.inputTextElement, "::ms-clear").setProperty("display"
input[type=text]::-ms-clear { display: none; }
使用JavaScript?如果更简单的话,在每个HTMLInputElement上这样做就足够了
(我不希望使用任何外部库,如jQuery)伪元素似乎是只读的?我正在努力
window.getComputedStyle(this.inputTextElement, "::ms-clear").setProperty("display", "none");
但我得到了异常nomodificationlowerError
在JavaScript中设置这一点最有效的方法似乎是
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '::-ms-clear{display:none};';
document.getElementsByTagName('head')[0].appendChild(style);
为什么不在CSS中这样做呢?@Pointy我希望能够使用JavaScript动态地设置它,而不依赖CSS文件。我见过的处理伪元素的最佳方法可能是使用CSS中的类(例如
input.foobar::-ms clear{display:none;}
)来设置它,然后使用脚本设置该类(例如,使用document.queryselectoral(“input[type=text]”)然后循环遍历结果)。请参见感谢您的回答。在JavaScript中真的没有办法动态修改伪元素吗?