Задать вопрос
@pzru

Как в Jquery полчуить старое значение css свойства в class stylesheet, которое было переопределено в атрибуте style?

Например:
style.css:
.bla { color: blue; }
bla.html:
<p class="bla">blabla</p>
javascript:
$('.bla').css({'color':'red'});

если я потом например вызову:
alert($('.bla').css('color'));
мне выдаст соответственно red

как получить(color blue) - старое значение из класса .bla, а не то значение, которое jquery прописал в теге в атрибуте style=""
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
BRAGA96
@BRAGA96
Например так:
var $test = $('.test');

$test.css({
	color: 'red',
	background: 'white'
});

console.log(oldCSS($test, ['color', 'background']));

function oldCSS($element, prop) {
	var current = $element.attr('style');
	var old = $element.removeAttr('style').css(prop);
	$element.attr('style', current);
	return old;
}


Или в виде jQuery метода, например $(selector).stylesheet(props)
jQuery.fn.stylesheet = function(props) {
	var current = this.attr('style');
	var old = this.removeAttr('style').css(props);
	this.attr('style', current);
	return old;
};

var $test = $('.test');

$test.css({
	color: 'red'
});

var color = $test.stylesheet('color');

console.log(color);
Ответ написан
Комментировать
@pzru Автор вопроса
Спасибо.
А так чтобы напрямую, чтобы не удалять атрибут style, а то костыль получается :))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы