Удаление атрибутов данных из HTML с помощью jQuery

Похоже, это не сработает ...

У меня есть страница, которая скрывает определенные ссылки. Когда DOM загружен, я использую jQuery для переключения некоторых из этих элементов. Это обусловлено использованием атрибута данных следующим образом:

<div class="d_btn" data-usr='48'>
  <div class="hidden_button">

Тогда у меня есть код:

  $.each($(".d_btn"), function() {
     var btn = $(this).data('usr');
   if ( btn == '48' ){      
     $(this).children('.hidden_button').toggle();
   }

Выше все работает как запланировано. Проблема в том, что я пытаюсь удалить data-usr из класса .d_btn после вычисления оператора if. Я попробовал следующее, и ничего не работает (то есть, после загрузки страницы источник все еще показывает атрибут data-usr:

$(this).removeAttr("data-usr");

$(this).removeData("usr");

Я работаю над этим уже пару часов и ... ничего! Помощь очень ценится!

UPDATE

Я попробовал отличные предложения по установке атрибута данных в пустую строку, но я все еще не получаю желаемого результата.

Чтобы пояснить немного подробнее, причина, по которой я пытаюсь удалить атрибут, заключается в том, что когда ответ ajax добавляет другой элемент на страницу, у ранее добавленных элементов уже будет кнопка либо показанная, либо скрытая. После ответа AJAX я вызываю ту же функцию после загрузки DOM.

В настоящее время, когда что-то добавляется через AJAX, он переключает все кнопки (показывая те, которые были скрыты, и наоборот.) Тьфу ...

Я также полностью готов попробовать альтернативы моему подходу. Спасибо!

UPDATE

Ну, лампочка только что вспыхнула, и я могу делать то, что хочу, просто используя .show () вместо .toggle ()

В любом случае, я все еще хотел бы найти ответ на этот вопрос, потому что страница будет потенциально проверять сотни элементов всякий раз, когда что-то добавляется - это кажется ужасно неэффективным (даже для компьютера, хахаха.)

Ответы на вопрос(4)

Ваш ответ на вопрос