Forenindex » Programmierung/Entwicklung » JavaScript » Einzelne Zeichen Farbe zuweisen in HTML-Dokument

Einzelne Zeichen Farbe zuweisen in HTML-Dokument

uswd
Beiträge gesamt: 197

19. Dez 2018, 17:26
Bewertung:

gelesen: 2321

Beitrag als Lesezeichen
Hallo,

ich habe ein HTML-Dokument, welches mehrere Absätze enthält, in denen bestimmte Zeichen eine andere Farbe zugewiesen werden sollen. Da dies relativ viele sind, würde ich gern vermeiden, diese von Hand in ein
Code
<span class="gf"></span> 

Paar zu packen. CSS ist passend definiert.

Ich habe es im Head damit versucht:
Code
window.onload = function() { 
obj = document.getElementsById('dia').getElementsByTagName('p');
obj.innerHTML = obj.innerHTML.replace(/[\+ztsvwm]/g,'<span
class="gf">$1</span>');
}

HTML könnte z. B. so aussehen:
Code
<body> 
<div>
<p id="dia"> XIIIIIIIIY<br>
9rsnlwq-trk+0<br>
9zpp+-zppvlp0<br>
9-+-zp-snp+0<br>
9+-zp-+-+-0<br>
9-+PzPP+-+0<br>
9+-sN-vLP+-0<br>
9PzP-+-+PzP0<br>
9tR-+QmKLsNR0<br>
xiiiiiiiiy </p>
</div>
</body>


Alle Zeichen der Menge [\+ztsvwm] sollen eingefärbt werden. Das klappt aber mit meinem Anfänger-Code leider nicht.

Kann mir jemand auf die Sprünge helfen?

Danke im Voraus.

Ulrich

Einzelne Zeichen Farbe zuweisen in HTML-Dokument

olaflist
Beiträge gesamt: 1369

19. Dez 2018, 21:30
Bewertung:

gelesen: 2308

Beitrag als Lesezeichen
getElementsByTagName gibt Dir ein array zurück, oder? Ein array hat aber kein innerHTML. Mit

Code
obj = document.getElementsById('dia').getElementsByTagName('p')[0]; 


müsstest Du weiter kommen... (in der Annahme, es ist immer das erste und einzige <p>).

Olaf
--
Olaf Druemmer | Geschäftsführer
callas software gmbh | www.callassoftware.com
axaio software GmbH | www.axaio.com

Einzelne Zeichen Farbe zuweisen in HTML-Dokument

uswd
Beiträge gesamt: 197

20. Dez 2018, 08:35
Bewertung:

gelesen: 2290

Beitrag als Lesezeichen
Hab ich probiert, zeigt aber keine "Wirkung". Und es sollte alle Absätze des HTML-Dokuments erfassen, die die "id='dia'" besitzen.
Na ja, wenn ich's nicht hinbekomme, muss ich halt die "häßliche" Lösung mittels Suchen-und-Ersetzen nehmen. Die macht dann das HTML sehr unleserlich mit den vielen <span></span>-Konstrukten.
Danke jedenfalls für die Hilfe.

Ulrich