Как удалить расширенный атрибут "jquery123456" из элемента - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть один элемент "<a id="sample" jquery1234567="0">Testing</a>"

Я хочу удалить последний атрибут (jquery1234567) из вышеуказанного тега.Но атрибут "jquery1234567" будет сгенерирован динамически.

Ответы [ 3 ]

2 голосов
/ 05 ноября 2013

Значение этого сгенерированного атрибута равно $.expando.Поэтому, если вы хотите удалить его, просто используйте:

$('#sample').removeAttr($.expando);

Хотя я бы не рекомендовал удалять этот атрибут, потому что он используется jQuery для отслеживания обработчиков событий, связанных с элементами DOM.Правильный способ повлиять на это поведение - отсоединить события от этого элемента с помощью jQuery.

0 голосов
/ 25 февраля 2012

попробуйте

    $.fn.getRegexAttr = function(regex, action) {

    if( !this.length ) return false;

    if( 'remove' == action ){

        var that = this;
        $(this[0].attributes)
            .filter(function(){ return regex.test(this.name); })
            .each(function(){ $(that).removeAttr(this.name); });


    }else if( 'fetch' == action ){

    return $(this[0].attributes)
            .filter(function(){ return regex.test(this.name); })
            .map(function(){ return $.trim(this.name); })
            .get();
    }
}

if( $('#sample').getRegexAttr(/jquery[0-9]/, 'fetch') ) alert( $('#sample').getRegexAttr(/jquery[0-9]/, 'fetch').join(',') );// To get the matched attributes

$('#sample').getRegexAttr(/jquery[0-9]/, 'remove');// To remove the matched attributes

Вы также можете проверить: http://jsfiddle.net/Nng8n/3/

0 голосов
/ 23 февраля 2012

попробуйте

  $("#sample").removeAttr('jquery1234567');
                (or)
  var id=1234567;
  $("#sample").removeAttr('jquery'+id);

это не поможет вам ... Пожалуйста, добавьте дополнительное описание с кодом ...

Привет, друг, это поможет тебе

      lastAttrIndex=($("#sample")[0].attributes.length)-1;
      lastAttr=$("#sample")[0].attributes[lastAttrIndex].name;
      $("#sample").removeAttr(lastAttr);
...