Удалить атрибуты CSS «сверху» и «слева» с помощью jQuery

Im строя перетаскиваемую карту, что когда карта перетаскивается, элемент получает атрибут «left» и «top» со значениями для каждого так …

Map

У меня есть кнопка, что я хочу удалить атрибут top и left из встроенного стиля в div при нажатии, возможно ли это с помощью jquery?

Значения по умолчанию для top и left CSS – это auto , поэтому их настройка может быть эквивалентной в зависимости от того, что вы пытаетесь сделать:

 $('.map').css('top', 'auto').css('left', 'auto'); 

У вас также есть возможность полностью удалить атрибут style :

 $('.map').removeAttr('style'); 

Однако, если вы используете другие компоненты пользовательского интерфейса jQuery, для них могут потребоваться встроенные стили, которые вы не хотите удалять, поэтому будьте осторожны.

Если вы хотите специально удалить верхний и левый атрибуты и оставить других, вы можете сделать это:

 $('.map').css('top', '').css('left', ''); 

Или более короткий эквивалент:

 $('.map').css({ 'top': '', 'left': '' }); 

Вы можете удалить все содержимое атрибута style , выполнив следующие действия:

 $('.map').removeAttr('style'); 

И вы можете удалить определенный style , выполнив:

 $('.map').css('top', ''); $('.map').css('left', ''); 

Просто установите свойство CSS пустой строкой, например, со следующим кодом:

 $('#mydiv').css('color', ''); 

См. Документацию jQuery для CSS .

  1. Перейдите сюда: jQuery API
  2. Ctrl + F для ‘remove’
  3. Читать:

Установка значения свойства style в пустую строку – например $ (“#mydiv”) .css (“color”, “”) – удаляет это свойство из элемента, если оно уже было применено непосредственно, будь то в стиле HTML атрибут, через метод .css () jQuery или путем прямого манипулирования DOM свойства стиля.

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

В этом отчете об ошибке JQuery

  element.removeAttr ( 'стиль') 

не работает последовательно в браузерах на основе Webkit. Например, я столкнулся с этой проблемой на iOS 6.1. Исправление состоит в том, чтобы использовать:

  element.attr ('style', '') 

Если вы хотите удалить все это, вы можете сделать

 $('.map').removeAttr('style'); 
 $.fn.removeCss=function(prop){ if(!prop){ return $(this).removeAttr('style').removeAttr('class'); } else{ return $(this).css(prop,null); } } 

то, если вы хотите удалить css prop (s):

  $('#mydiv').removeCss('color'); //To remove all prop Css $('#mydiv').removeCss(); 

На мой взгляд, самый чистый способ – полностью удалить свойство из CSSStyleDeclaration элемента, вместо того, чтобы просто переписать его с каким-то значением null / zero / default:

 $(".foo").prop("style").removeProperty("top"); $(".foo").prop("style").removeProperty("left"); $(".foo").prop("style").removeProperty("background-color"); 
 $.fn.removeCss=function(toDelete){ var props=$(this).attr('style').split(';'); var tmp=-1; for( var p=0;p 

Безопасное удаление с помощью этого плагина!

$ ( 'MyDiv') removeCss ( 'цвет').

Есть некоторые стили, которые не могут быть легко удалены (переполнение приходит на ум)

Обходным путем было бы создать 2 разных classа и добавить / удалить тот, который содержит желаемый стиль.

НЕ лучшее решение для свойств стиля, которое можно легко удалить / отключить.

  $("#map").css("top", "0"); $("#map").css("left", "0"); 

Чтобы удалить стили css, присвойте пустую строку стилю

в этом случае

 $('.map').css({top:'',left:''}); 
  • Поле ввода ввода JQuery
  • Можете ли вы обнаружить «drag and drop» в jQuery?
  • Событие Click на элементе выбора опции в хроме
  • Слайд справа налево?
  • Ограничить загрузку-datepicker только в рабочие дни?
  • Выбор текста в фокусе с использованием jQuery, не работающего в Safari и Chrome
  • Отображение случайных div с использованием JQuery
  • Синхронные вызовы с jquery
  • jQuery Таблицы данных: ширина таблицы управления
  • Найти текстовую строку с помощью jQuery?
  • Использование .text () для извлечения только текста, не вложенного в дочерние tags
  • Давайте будем гением компьютера.