2015-07-15 2 views
1

Привет я был просто интересно, если есть способ, чтобы изменить непрозрачность текста с помощью innerHTML почти как контейнер ...Как изменить непрозрачность текста с помощью innerHTML?

var x = document.getElementById("myId"); 
x.innerHTML.style.opacity = .5; 

??? может быть, что-то вроде этого? У меня была идея иметь другой класс и просто добавлять этот класс к определенному HTML, но я пытаюсь захватить html элемента, изменить прозрачность текста на более светлый оттенок, удалить его из элемента, но сохранить его в переменной, добавить в новом html, а затем добавьте оригинальный html, но я хочу, чтобы новый html был темнее оригинала, поэтому я не могу изменить непрозрачность элемента, иначе он будет влиять на весь текст в элементе. Если у кого-то есть предложения, мы будем очень благодарны. Я пытаюсь использовать только HTML, CSS и Javascript, поэтому я стараюсь избегать любых добавленных библиотек, если я могу помочь. Спасибо.

+0

Если вы хотите только прозрачность на письма, а не контейнер, вы должны установить 'color' как Rgba стоимость. '.myTransparentText {color: rgba (0,0,0,0,5)}', например, сделает ваш текст черным с непрозрачностью 50% на письмах. Другого варианта нет. http://www.css3.info/introduction-opacity-rgba/ – connexo

+0

, так как вы хотите изменить innerHtml для элемента, почему бы не изменить этот непрозрачность родительского элемента? –

+0

ok Позвольте мне попробовать и посмотреть, могу ли я что-нибудь с этим сделать. эффект, который я пытаюсь найти, присутствует в текстовой игре «темная комната» в играх с удвоенной скоростью, если вы хотите увидеть, что я имею в виду – Pixelknight1398

ответ

1

Вы могли бы изменение прозрачности всех детей

var childrens = document.getElementById("myId").children; 

for(var i = 0, length = childrens.length; i < length; i++) { 
    childrens[i].style.opacity = 0.5; 
} 
+0

Я пробовал это и после запуска некоторых трасс через код, он говорит, что все правильно, но текст не меняется, поэтому мне придется немного подружиться с этим чуть позже. спасибо, я не думал об использовании детей. – Pixelknight1398

0

Нет далеко ... так:

var x = document.getElementById("myId"); 
x.style.opacity = .5; 
+0

. Я не могу это сделать, потому что я пытаюсь изменить только части текста, а не весь элемент. – Pixelknight1398

0

вы можете использовать x.style.opacity = 0,5

обновление: так как вам нужно изменить только одну часть текста ,, вы должны сделать что-то вроде этого

x= document.getElementById("id"); 
x.innerHtml = "not important text <div id='important'>Important</div>"; 
document.getElementById("important").style.opacity = 0.5; 

Почему вы хотите сделать что-то подобное? не могли бы вы объяснить больше? Так мы можем вам помочь?

+0

Я не могу, потому что я пытаюсь только изменить часть текста, а не весь элемент. – Pixelknight1398

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