不显示::使用JavaScript清除伪元素

不显示::使用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"

我想禁用/删除/不显示IE中输入字段中出现的按钮。如何执行以下操作

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中真的没有办法动态修改伪元素吗?