Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Аналог `element.style.left = variable + 'px'`, только без 'px'

#javascript #jquery #css


Имеется элемент:

let element = document.getElementById('id')


Я могу изменить его css-свойство left вот так:

let left = ...
highlight.style.left = left + 'px';


Есть ли аналог этого, только без необходимости писать 'px'? 



Например, с помощью jquery можно так:

$(element).css('left', left);


А можно без jquery (и без 'px')?
    


Ответы

Ответ 1



Да. Нет. Нет. Хотя ну ладно, на последний вопрос - да: 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; }
123
PS: Пиксели - зло.

Комментариев нет:

Отправить комментарий