【问题标题】:Not display ::ms-clear pseudo element using JavaScript使用 JavaScript 不显示 ::ms-clear 伪元素
【发布时间】:2014-03-26 15:16:35
【问题描述】:

我想禁用/删除/不显示出现在 IE 输入字段中的 ::ms-clear 按钮。我该怎么做以下

input[type=text]::-ms-clear { display: none; }

使用 JavaScript?如果这更容易,我对每个 HTMLInputElement 执行此操作就足够了。

(我不希望使用任何外部库,例如 jQuery)

【问题讨论】:

  • 为什么不在你的 CSS 中这样做?
  • @Pointy 我希望能够使用 JavaScript 动态设置它,而不是依赖 CSS 文件。
  • 我见过的使用伪元素的最佳方法是使用 CSS 中的类设置它(例如 input.foobar::-ms-clear { display: none; }),然后使用脚本设置类(例如使用 @987654326 @ 然后循环遍历结果)。见stackoverflow.com/questions/7882325/…
  • 感谢您的回答。那真的没有办法在 JavaScript 中动态修改伪元素吗?

标签: javascript pseudo-element


【解决方案1】:

似乎伪元素是只读的?我正在努力做

window.getComputedStyle(this.inputTextElement, "::ms-clear").setProperty("display", "none");

但我得到异常NoModificationAllowedError

在 JavaScript 中设置这个的最接近的工作似乎正在做

var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '::-ms-clear{display:none};';
document.getElementsByTagName('head')[0].appendChild(style);

【讨论】:

    猜你喜欢
    • 2016-04-17
    • 2013-06-16
    • 2018-10-30
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 2013-03-24
    • 1970-01-01
    相关资源
    最近更新 更多