2015-10-23 3 views
0

Я относительно новичок в языке кодирования JavaScript, и он сильно отличается от веб-скриптов, таких как html и css. Итак, я пытаюсь изменить цвет шрифта и цвет фона выходов javascript. Что у меня есть следующие две строкиЦвет строки строки ввода строки

document.getElementById("ID").innerHTML += "Print Primary<br/>"; 
document.getElementById("ID").innerHTML += "Print Secondary<br/>"; 

я попытался

document.getElementById("ID.fontcolor("red")).innerHTML += "Print Primary"; 
document.getElementById("ID").innerHTML += set.fontcolor("red") += "Print Secondary"; 

Кроме того, как бы вы изменить цвет фона?

пс, тот же идентификатор в настоящее время циклично, но я хочу, чтобы красный цвета при печати Primary и желтого цвета при печати Второстепенного и НЕ изменить предыдущий печатные элементы цвета

+2

https: //developer.mozilla. org/en-US/docs/Web/API/CSS_Object_Model/Using_dynamic_styling_information – j08691

+1

См. -> ** https: //developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style**, у вас есть большая часть это в стиле 'style', то есть' document.getElementById («ID»). style.color = 'red'; 'и т. д. – davidkonrad

ответ

0

Чтобы изменить цвет текста внутри элемент, вы можете достичь его, отредактировав свойства стиля элемента. Как это:

document.getElementById("idElement").style.color = "#FF0000"; //Or you can just put "red". Works with some colors. 

, как вы делаете это с родными элементами DOM немного отличается при использовании JQuery, например. Вот ссылка о том, как вы можете изменить цвет DOM элементов: W3Schools Style color property

EDIT:

Если вам нужно изменить цвет более одного элемента с этим JS код, то вам необходимо получить DOM по своему классу. По определению идентификаторы должны быть уникальными при использовании чистого Javascript для получения элементов. Затем вы не можете получить список элементов по идентификатору. В этом случае вы можете использовать атрибут «class», чтобы получить список элементов, которые будут иметь цвет.

Посмотрите:

<span class="spanColor">text 1</span> 
<span class="spanColor">text 2</span> 
<span class="spanColor">text 3</span> 
<span class="spanColor">text 4</span> 
<span class="spanColor">text 5</span> 
<script> 
    var objs = document.getElementsByClassName("spanColor"); 

    for (var i = 0; i < objs.length; i++) 
    { 
     if (i % 2) 
     { 
      objs[i].style.color = "#FF0000"; // Red 
     } 
     else 
     { 
      objs[i].style.color = "#EAFF00"; // Yellow 
     } 
    } 

</script> 

С этим изменением, вы можете переключаться между желтыми и красными цветами.

+0

Привет, это изменяет цвет каждого элемента, который уже был напечатан. Есть ли способ не изменить предыдущий цвет? Например, сначала желтый (должен быть желтым цветом), затем красный (красный), следующий желтый (должен быть желтым цветом) и т. Д. – axchink

+0

Проверьте мое редактирование, чтобы убедиться, что это именно то, что вы хотите. – Fabiano

0

Вы можете попробовать пробегаем по каждому элементу у вас есть, и установить его в цвет текста внутри элемента, например, так:

var els = document.getElementsByClassName("color"); 
 

 
for(var i = 0; i < els.length; i++) 
 
{ 
 
    var text = els[i].innerHTML; 
 
    els[i].style.color = text; 
 
}
<div class="color">Red</div> 
 
<div class="color">Yellow</div>

Смежные вопросы