Я пытаюсь создать HTML-виджет:Получение элемента по идентификатору в CoffeeScript
HTML:
<div>
<h1 class="title" data-bind="title">Title</h1>
<div>
<h1 id = "dc1" class="dc">DC1</h1>
</div>
<div>
<h1 id = "dc2" class="dc">DC2</h1>
</div>
<p class="updated-at" data-bind="updatedAtMessage"></p>
</div>
И мне нужно, чтобы иметь возможность установить цвет фона id="dc1"
и id="dc2"
элементов динамически в CoffeeScript. Я планирую сделать это, добавив класс с настройкой цвета фона:
SCSS:
&.up {
background-color: green;
}
&.down {
background-color: red;
}
.dc {
background-color: orange;
font-size: 30px;
float: left;
width: 50%;
}
До сих пор мне удалось установить весь фон виджета, но не дочерние элементы, упомянутые выше: Я использую:
CoffeeScript:
$(@node).removeClass('up down')
$('#dc1').removeClass('up down')
$('#dc2').removeClass('up down')
$(@node).addClass('down')
$('#dc1').addClass('down')
$('#dc2').addClass('up')
Обратите внимание, что в конце я добавлю классы в зависимости от некоторых данных, а не жесткую кодировку их в «вверх» или «вниз» в файле coffeescript.
Но ничего не происходит .. Я получаю правильный выбор элементов id="dc#"
?
Если это помогает с контекстом я делаю это для Dashing
Не в coffescript '$ ('# dc1'). AddClass ('down')' -> '$ (" # dc1 "). AddClass" down "'? – Vucko
Я не вижу ничего плохого в вашем CoffeScript, вопрос должен быть где-то еще – beautifulcoder
@Vucko Скобки часто * необязательны * в CoffeeScript, но многие люди (включая меня) помещают их, чтобы сделать код более понятным. Одиночные кавычки также действительны для строк в CoffeeScript, двойные кавычки также действительны, но они поддерживают интерполяцию строк, поэтому многие люди (включая меня) придерживаются одиночных кавычек, если они специально не хотят использовать интерполяцию. –