【问题标题】:jQuery select when attribute NAME starting with? [duplicate]jQuery选择属性名称以什么开头? [复制]
【发布时间】:2015-03-16 10:05:10
【问题描述】:

我想删除名称以data-val-range 开头的所有属性。

即从以下元素中,我想删除匹配的属性:

<input data-val-range-min="*" data-val-range-max="$" data-val-range="hallelujah"/>

这可能吗?

【问题讨论】:

  • 你只是想从元素中删除属性,还是需要从 jQuery 的缓存中删除它?
  • @RoryMcCrossan 从元素中删除是否足够,我需要禁用这些属性,我实际上不在乎它是如何完成的。
  • 可能,这取决于您的实现。如果你只从元素中删除它,它仍然存在于 jQuerys 缓存中——这是否有任何影响取决于你使用数据属性的方式和时间。
  • @RoryMcCrossan 那么如何禁用元素验证?
  • 验证规则是如何设置的?验证初始化后删除属性可能无效。

标签: javascript jquery html asp.net-mvc attributes


【解决方案1】:

使用this answer,你可以只遍历属性,并根据名称删除它们...

你的 javascript 应该是这样的

$("input").each(function() {
  var theElem=this;
    $.each(this.attributes,function() { 
      if(this.specified) {     
        if(this.name.indexOf("data-val-range")>-1) {
          console.log("removing ",this.name);
          $(theElem).removeAttr(this.name); 
        }                                                     
      }
    })
});

这是一个 jsfiddle https://jsfiddle.net/dkusds1s/

【讨论】:

    猜你喜欢
    • 2013-09-28
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多