【问题标题】:Add input attribute with jQuery prop no work in IE9使用 jQuery 属性添加输入属性在 IE9 中不起作用
【发布时间】:2013-05-18 17:12:18
【问题描述】:

因为我无法在我的服务器代码中的input 标记处添加placeholder 属性,所以我需要在DOM 准备好时使用jQuery 动态添加此属性。于是我写了如下代码,我测试了在Chrome、Firefox和IE7、IE8下运行良好,但在IE9下运行不好。

$(function () {
    $('input').prop('placeholder', 'value');
}

还有其他 jQuery 方法可以做到这一点吗?

更新:

是的,我知道placeholder不被IE9支持,我的页面中使用了jquery-placeholder插件,但是这个插件需要检查input标签的placeholder attr,所以我需要使用jQuery 添加这个属性,让这个插件工作。

【问题讨论】:

  • 它给出了什么??有什么错误吗?检查控制台?
  • 试试 $('input').attr('placeholder','value')
  • 为什么要动态添加它们?此外,如果你能添加它们,IE
  • @DhavalMarthak 控制台没有错误。

标签: javascript jquery internet-explorer-9


【解决方案1】:

首先尝试在 jQuery 中使用 .attr() 函数,但 IE 不支持占位符。

$(function () {
    $("input").attr("placeholder","Value");
}

但是你可以使用这个placeholder polyfill

【讨论】:

  • 谢谢,$("input").attr("placeholder","Value"); 工作正常。
  • “IE 不支持”
  • @roasted 这就是我放置占位符 polyfill 的原因
  • 我只是在回复您的声明:“IE 不支持占位符” 现在 IE10 支持占位符。 +1 好帖子 :)
  • @roasted 是的,你说得对,但我的问题是 Windows 8 很烂 :P 而且我还没有 IE10
【解决方案2】:

是的,由于并非所有浏览器都支持placeholder attr,因此您需要一个 jQuery 解决方案。你可以使用这个插件:

http://webdesignerwall.com/tutorials/cross-browser-html5-placeholder-text

希望对你有帮助

【讨论】:

    【解决方案3】:

    我认为问题是重复的,这里已经提到了答案

    Placeholder attribute not supported in IE. Any suggestions?

    【讨论】:

      猜你喜欢
      • 2014-09-15
      • 2013-03-15
      • 1970-01-01
      • 2011-04-17
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      相关资源
      最近更新 更多