【问题标题】:attr not working in IEattr 在 IE 中不起作用
【发布时间】:2016-08-29 12:34:04
【问题描述】:

我是 JQuery 的新手。我正在尝试在不同的选择案例中添加“输入”标签。

  $(document).ready(function() {
        $("select[name=InputSource]").change(function() {
            if (this.value == 3) {
                eth_input = true;
                $(".page_ip").attr("form", "broadcastform");
            } else {
                eth_input = false;
                $(".page_ip").attr("form", "");
            }
        });
    });

但 attr 似乎不适用于 IE。我搜索人们建议在 IE 浏览器中使用 data-* 的文章。但问题是我仍然需要更改“表单”属性才能将此输入输入表单。无论如何应用 attr 来更改“表单”属性?

【问题讨论】:

标签: javascript jquery html internet-explorer


【解决方案1】:

并不是您的代码没有应用form 属性。就是那个IE doesn't support it(甚至不是IE11)。 Details and possible workaround in this question and its answers(以及与之相关的其他问题及其答案)。

【讨论】:

  • @SverriM.Olsen:谢谢。出于某种原因,当我去那里输入“表格”时,它没有出现。 (这很奇怪,因为我刚刚再次尝试这样做,它确实做到了。)
  • 我不知道。如果 IE 不支持表单属性,如何在表单中添加输入属性?
  • @Pwan:查看链接的问题、与之链接的其他问题及其答案。
  • T.J 我是你的粉丝!!
【解决方案2】:

您可以使用 javascript setAttribute 代替 Jquery。见 在这里支持:http://caniuse.com/#search=setAttribute 添加:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

连同&lt;!DOCTYPE html&gt;

它适用于 IE8+ 环境

【讨论】:

  • 这不是 jQuery 的 .attr() 方法在幕后使用的吗?
  • 可能是。需要检查 Jquery API。您还需要添加元标记。在我的答案中添加。它适用于 IE8+ 环境。
【解决方案3】:

这是因为 form 属性是 HTML5 的一部分,IE 不支持。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input.

当我尝试添加/更改一些 IE 不支持的 ARIA attrs 时,我遇到了这种情况。尽管可以通过以单独的形式包装并附加在前一个形式之后来忽略表单 attr 的用法。并将其放置在所需的位置。

您的代码 sn-p 没有太大帮助,因为还需要标记/html 来提出更好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    相关资源
    最近更新 更多