DrunkMaster
@DrunkMaster

Как заменить значения в CSS на JS?

<style type="text/css">
  .one { background-color: #fff; width: 250px; margin: 20px -30px -30px 30px; position: absolute; }
</style>

<div class="one">текст</div>

Хочу менять первое и последнее значение margin на лету с помощью css. Но как это сделать? Ведь getElementById я не могу сделать, у этих элементов нет Id?
  • Вопрос задан
  • 925 просмотров
Решения вопроса 3
DIITHiTech
@DIITHiTech
Fullstack javascript developer
Учимся сначала тут: https://learn.javascript.ru/styles-and-classes

document.querySelector(".one").style.margin = "20px -30px -30px 30px";
 //or
var el=document.querySelector(".one");
el.style.marginTop = "20px";
el.style.marginLeft = "20px";

Про Jquery, а тем более Angular, который вообще тут не при чем, не ведитесь. Сначала native- потом любой DOM фреймворк..

И кстати, про старый добрый document.getElementsByClassName() - если нужно получить только один элемент и DOM дерево большое у него могут быть проблемы с производительностью, так как выборка всех совпадений идет, а не только первый.
Ответ написан
jumper423
@jumper423
web-developer
getElementByClass ;)
А ещё лучше воспользоваться jQuery
$('.one').css(.......)
Ответ написан
vicodin
@vicodin
Имею некоторый опыт
Обратите внимание на ..Elements.. :
var one = document.getElementsByClassName('one');

про CSS
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
premas
@premas
Full-stack web-developer
Если задача именно в изменении значений внутри тега style, то здесь нужен ангуляр. Без него получится типичный говнокод.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы