【问题标题】:CSS attribute selector bug in IE8?IE8 中的 CSS 属性选择器错误?
【发布时间】:2017-05-23 15:29:23
【问题描述】:

CSS 2.1指定:

input[type=submit] {
}

input[type="submit"] {
}

必须匹配任何“type”属性值完全等于“submit”的输入元素。但是,此选择器不适用于 IE8(和 IE7 兼容模式)。 有什么提示吗?解决方法?

【问题讨论】:

  • 它应该可以在 IE8 中运行...你确定没有其他选择器正在应用吗?
  • 相同的选择器适用于谷歌浏览器(稳定版)
  • 检查这里:stackoverflow.com/questions/2185549/… 检查以确保您在页面顶部定义了 DOCTYPE。

标签: css internet-explorer css-selectors


【解决方案1】:

Internet Explorer 不会追溯应用样式。

并且这些 jquery 选择器的使用仅适用于该代码运行之前存在的元素。

之后创建并插入到 DOM 中的任何内容都不会受到该代码的影响。

【讨论】:

    【解决方案2】:

    为了回答您帖子的标题(不完全是您的情况),我刚刚在 IE8 上试验了一个错误:

    我正在整合一个 ASP.net 项目,其中页面名称以大写字母开头……

    还有……

    使用此表格

    <form name="aspnetForm" method="post" action="Default.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
    

    Internet Explorer 8区分

    form[action^="Default"]
    

    值:D错误 → 不工作(但在 IE11 和现代浏览器上工作......)

    form[action^="default"]
    

    值:d错误→工作

    【讨论】:

      【解决方案3】:

      你可以使用 输入[类型='提交'] { 代码在这里... } 希望这适用于 IE 以及旧版 IE。

      【讨论】:

      • 在 IE 中支持带有单个逗号的属性选择器。
      【解决方案4】:

      jQuery 将为您提供您需要的选择器,而无需使用肮脏的技巧。

      $(':submit').css( 'styleprop', 'value' );
      

      例子:

      $(':submit').css('color','red');
      

      【讨论】:

      • 使用 jQuery 解决 CSS 错误不是很聪明。这就像一个坑洼修补..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 2015-09-09
      • 2013-04-26
      • 1970-01-01
      相关资源
      最近更新 更多