2013-11-25 2 views
-4

У меня есть две переменные (обе строки), и мне нужно изменить цвет каждого другого персонажа на зеленый.каждый другой символ строки в другом цвете

var a = "big jump"; 
var b = "bigger jump"; 
var combined = a.concat(b); 

Я не прошу полного кода, но подсказки или примера.

+0

Вы можете создать массив из строки и перебирать этот новый массив изменение цвета каждого персонажа. – xaxes

+1

сначала вы не можете использовать числа для имен переменных, попробуйте использовать a и b вместо –

+1

Вот ваш совет: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ Строка и https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array –

ответ

1

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

Пример:

var s = "This is a test"; 

var t = ""; 
var green = true; 
for (var i = 0; i < s.length; i++) { 
    var c = s.charAt(i); 
    if (c == " ") { 
     t += c; 
    } else if (green) { 
     t += "<span>" + c + "</span>"; 
     green = !green; 
    } else { 
     t+= c; 
     green = !green; 
    } 
} 
document.getElementById('view').innerHTML = t; 

HTML:

<div id="view"></div> 

CSS:

span { color: green; } 

Демо: http://jsfiddle.net/Guffa/Csz62/

0

Прежде всего, вы не можете создать переменную, которая начинается с числа (или это всего лишь число).

Вы в JavaScript, строки не имеют цвета, вы должны изменить HTML (или то, что вы используете), чтобы цвет строки

И я не понимаю, что вы хотите сделать, что части строки, которые вы хотите покрасить?

+0

целая строка - большой прыжок большего прыжка, поэтому каждая другая буква должна быть зеленой – user3033517

1

Это может помочь:

for (var i = 0; i <= combined.length; i++) { 
    if (i % 2 == 1){ 
    //add letter with color to something 
    } else { 
    //add letter with other color to something 
    } 
} 
Смежные вопросы