【问题标题】:How to remove or change an attribute in jQuery如何在 jQuery 中删除或更改属性
【发布时间】:2016-08-18 05:33:40
【问题描述】:

我想使用jQuery根据某些条件删除required属性并将其添加到字段中。 这在 DOM 中发生了变化,但在视觉上没有变化。

我的代码

$('#id').removeAttr('required');
$("#id").attr('ng-required','true');
$("#id").attr('required','true');

即使used .prop(), 但似乎没有任何效果。

【问题讨论】:

  • 你在指令中尝试attr.$observe('required', ...)吗?
  • @plong0,不,我没用过。你能解释一下如何使用它吗?我不知道如何使用它,因为我是开发新手。谢谢
  • 没有@rajeeshmenoth 。我的问题是它在视觉上没有变化
  • 什么在控制元素的视觉方面(是在角度指令中,纯 html 中)?您预计会发生哪些变化?

标签: jquery angularjs jquery-ui jquery-events


【解决方案1】:

使用 true

而不是 'true'

试试这个代码:

$('#id').removeAttr('required');
$('#id').prop('required',true);

【讨论】:

    【解决方案2】:

    试试这个添加和删除required 属性。 required 属性的值是 required 而不是 true

    $('#email').removeAttr('required');
    $("#email").attr('required','required');
    $("#email").attr('ng-required','required');
    

    【讨论】:

    • 我也试过了。我确实改变了 DOM。但它仍然没有在视觉上改变它。在浏览器中它仍然处于以前的状态
    • 您元素的 ID 是 email 而不是 id 您的目标 ID 错误。更新了答案。
    • 哦对不起 Leopard。我用对了。但是为了问我的问题已经改变了它。我在 Jquery 中使用了#email
    • No @Leopard 没有错误。它也从 DOM 改变。但不是从浏览器视觉上看
    【解决方案3】:
    $('#id').removeAttr('required');
    

    应该可以工作,你确定你的目标是正确的元素吗?

    .prop 也应该与 'false' 一起使用,而不是 true

    【讨论】:

      【解决方案4】:

      尝试像这样使用你的 jQuery:

      $("#id").attr("required", false);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-19
        • 2019-01-03
        • 1970-01-01
        相关资源
        最近更新 更多