Как Вы изменяете стиль отделения программно

Вопрос не будет полным, если мы не упомянем об альтернативных методах для обхода объектов.

В настоящее время многие известные библиотеки JavaScript предоставляют свои собственные методы для итерации над коллекциями, то есть над массивов , объектов и в виде массива . Эти методы удобны в использовании и полностью совместимы с любым браузером.

  1. Если вы работаете с jQuery, вы можете использовать метод jQuery.each() . Его можно использовать для беспрепятственной итерации по обоим объектам и массивам:
    $.each(obj, function(key, value) {
        console.log(key, value);
    });
    
  2. В Underscore.js вы можете найти метод _.each() , который выполняет итерацию по списку элементов, каждый из которых, в свою очередь, передается в заданную функцию (обратите внимание на порядок аргументов в функции iteratee !):
    _.each(obj, function(value, key) {
        console.log(key, value);
    });
    
  3. Lo-Dash предоставляет несколько методов для итерации поверх свойств объекта , Основной _.forEach() (или его псевдоним _.each()) полезен для циклического перемещения по обоим объектам и массивам, однако (!) Объекты с свойством length рассматриваются как массивы, и чтобы избежать такого поведения, предлагается использовать методы _.forIn() и _.forOwn() (они также имеют первый аргумент value):
    _.forIn(obj, function(value, key) {
        console.log(key, value);
    });
    
    _.forIn() выполняет итерацию по и унаследовал перечислимые свойства объекта, тогда как _.forOwn() выполняет итерацию только над собственными свойствами объекта (в основном проверяя функцию hasOwnProperty). Для простых объектов и литералов объектов любой из этих методов будет работать нормально.

Как правило, все описанные методы имеют одинаковое поведение с любыми поставленными объектами. Кроме того, использование нативного цикла for..in обычно будет быстрее , чем любая абстракция, например jQuery.each(), эти методы значительно проще в использовании, требуют меньше кодирования и обеспечивают лучшую обработку ошибок.

11
задан Cœur 11 October 2017 в 03:17
поделиться

7 ответов

Если Вы хотите изменить цвет отделения с клиентским кодом (JavaScript), работающий в браузере, Вы делаете что-то как следующее:

<script>
 var fooElement = document.getElementById("foo");
 fooElement.style.color = "red"; //to change the font color
</script>
7
ответ дан 3 December 2019 в 04:15
поделиться

Необходимо выбрать цвета в CSS и затем изменить класс CSS программно. Например:

(CSS)

div.Error {
  color:red;
}

(ASP.NET/VB)

<div class='<%=Iif(HasError, "Error", "")%>'> .... </div>
2
ответ дан 3 December 2019 в 04:15
поделиться

Попробуйте это: в .aspx файле помещает эти строки

<div id="myDiv" runat="server">
    Some text
</div>

затем можно использовать, например,

myDiv.Style["color"] = "red";
9
ответ дан 3 December 2019 в 04:15
поделиться

Обычно можно сделать это непосредственно

document.getElementById ("myDiv") .style.color = "красный";

Здесь существует ссылка.

1
ответ дан 3 December 2019 в 04:15
поделиться

Тот фрагмент кода не говорит многое - если код является серверной стороной, почему Вы не изменяетесь, например, класс элемента HTML там?

0
ответ дан 3 December 2019 в 04:15
поделиться

Похоже на запись ASP или возможно JSP. Я не слишком знаком ни с одним языком, но принципы являются тем же, в каком языке Вы работаете.

Если Вы работаете с ограниченным количеством цветов, то обычная опция состоит в том, чтобы создать много классов и наборов правила записи для них в Вашей таблице стилей:


.important { background: red; }
.todo { background: blue; }

И так далее.

Затем имейте свой серверный сценарий, генерируют HTML для создания соответствия CSS:


<div class="important">

Необходимо, конечно, удостовериться, что информация доступна через средства кроме цвета также.

Если цвета определяются во время выполнения, то можно генерировать атрибуты стиля:


<div style="background-color: red;">
2
ответ дан 3 December 2019 в 04:15
поделиться

Если бы вы хотели изменить класс, а не стиль напрямую: т.е. создать другой класс с нужным вам стилем...

myDiv.Attributes["class"] = "otherClassName"
4
ответ дан 3 December 2019 в 04:15
поделиться
Другие вопросы по тегам:

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