Имеется элемент:
let element = document.getElementById('id')
Я могу изменить его css-свойство left вот так:
let left = ...
highlight.style.left = left + 'px';
Есть ли аналог этого, только без необходимости писать 'px'?
Например, с помощью jquery можно так:
$(element).css('left', left);
А можно без jquery (и без 'px')?
Ответ
Да. Нет. Нет.
Хотя ну ладно, на последний вопрос - да:
var $ = (function () {
var allowNumber = ['lineHeight', 'zIndex'];
function $(el) {
if (this instanceof $) {
this.el = el;
} else {
return new $(el);
}
}
$.prototype.css = function css(key, value) {
key = key.replace(/-(\w)/g, function (m, ch) { return ch.toUpperCase() });
if (+value == value && allowNumber.indexOf(key) === -1) {
value += 'px';
}
this.el.style[key] = value;
return this;
}
return $;
})();
$(document.querySelector("div")).css('left', 100).css('line-height', 3);
div {
position: absolute;
left: 0;
top: 0;
background: silver;
}
PS: Пиксели - зло.
Комментариев нет:
Отправить комментарий