Как удалить расширенный атрибут "jquery123456" из элемента
У меня есть один элемент "<a id="sample" jquery1234567="0">Testing</a>"
Я хочу удалить последний атрибут (jquery1234567) из вышеуказанного тега. Но атрибут "jquery1234567" будет сгенерирован динамически.
3 ответа
Попробуй это
$("#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);
Значение этого сгенерированного атрибута $.expando
, Так что если вы хотите удалить его, просто используйте:
. $('# Образец') removeAttr($ Expando.);
Хотя я бы не рекомендовал удалять этот атрибут, потому что он используется jQuery для отслеживания обработчиков событий, связанных с элементами DOM. Правильный способ повлиять на это поведение - отсоединить события от этого элемента с помощью jQuery.
Попробуй это
$.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/