Изменить стили элемента HTML с помощью JS
На сайте есть переменная $OTHER1$, числовое значение, которое я задаю вручную. Допустим, это значение = '3'
html код выглядит след. образом: <div class="primer"> <span>1</span>, <span>2</span>, <span>3</span>, <span>4</span>, <span>5</span>. </div> Пользователь видит: 1, 2, 3, 4, 5. Вопрос: как задать стили для <span>3</span>? т.е. конкретно для <span>, внутри которого цифра = $OTHER1$. другие стили <span> задавать не нужно. |
ser1ko, CSS:
.primer span:nth-child(2){
color:red;
}
JS:
document.querySelectorAll('.primer span')[1].style.color='red';
|
Цитата:
<div class="primer">
<span>1</span>, <span>$OTHER1$</span>, <span>3</span>.
</div>
<script type='text/javascript'>
var o=document.querySelector('.primer > span:nth-child(2)');
o.style.color='red';
</script>
|
ser1ko,
а css никак? |
Nexus,ksa, прошу прощения, немного перефразировал вопрос. варианты, что вы предложили, кажется, не совсем подходят
рони,не совсем понял, каким образом? |
ser1ko,
var found=3,
elems=document.querySelectorAll('.primer > span');
for(var i=0;i<elems.length;i++){
if(parseInt(elems[i].innerHTML)==found){
elems[i].style.color='red';
break;
};
};
|
Nexus,
да, кажется то, что нужно. а если мне нужно задать эти стили?? color: #fff; border-color: #337ab7; background: #337ab7; этот вариант не работает
var found=3,
elems=document.querySelectorAll('.primer > span');
for(var i=0;i<elems.length;i++){
if(parseInt(elems[i].innerHTML)==found){
elems[i].style.color='#fff';
elems[i].style.border-color='#337ab7';
elems[i].style.background='#337ab7';
break;
};
};
|
ser1ko, если наименование свойства состоит из нескольких слов, то оно записывается в camelCase стиле.
https://learn.javascript.ru/styles-a...ство-style Upd. Можно еще использовать свойство «cssText». |
Nexus,
через cssText сделал. Все работает, переделал под себя. Большое спасибо! |
Цитата:
|
| Часовой пояс GMT +3, время: 02:08. |