Autor |
Nachricht |
Psilo
Threadersteller
Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 31.10.2008 12:01
Titel Javascript: replace |
|
|
Hallo,
folgendes problem:
Ich will innerhalb eines gewissen divs das größer/kleiner zeichen mit html entities ersetzen.
das funktiniert so weit auch ganz gut aber leider wir das </h1> nicht umgewandelt.
kann mir nicht wirklich weiterhelfen, habe schon gegoogelt und alles mögliche versucht.
bin aber noch ein ziemlicher frischling in javasript
Code: |
<script type="text/javascript">
<!--
function replaceit() {
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(/</, '<')
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(/>/, '>')
}
-->
</script>
<span id="test"><h1>blabla</h1></span>
<button onclick="replaceit()">TU ES</button>
|
EDIT
hatte grad noch nen geisteblitz und es mal so versucht
Code: |
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace('<h1>blabla</h1>', '<h1>blabla</h1>')
|
funktioniert auch.. aber ich hätte halt gern dass das auch klappt wenn nicht gerade blabla im h1 tag steht
EDIT AGAIN:
sorry leute das ich das forum unnötig voll poste.
habs jetz doch allein geschafft..
falls irgendjemad auch mal nach ner lösung für mein problem sucht
hier:
Code: |
function replaceit() {
var demostring = document.getElementById('test').innerHTML;
newstring = demostring.replace('<h1>', '<h1>');
newstring = newstring.replace('</h1>', '</h1>');
document.getElementById('test').innerHTML = newstring;
}
|
und ich war, bevor ich meinen post geschrieben habe, wirklich schon stunden auf der suche nach ner lösung..
dass mir jetz auf einmal die idee kam war reiner zufall
mfg
Zuletzt bearbeitet von Psilo am Fr 31.10.2008 12:12, insgesamt 3-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 31.10.2008 12:27
Titel
|
|
|
Wenn du den String nicht per innerHTML einfügst, sondern per createTextNode erstellst hast du dieses Problem nicht.
|
|
|
|
|
Anzeige
|
|
|
Psilo
Threadersteller
Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 31.10.2008 12:28
Titel
|
|
|
ok, vielen Dank
ich kenne ledier noch nicht so viele Befehle in Javascript
sorry, aber das klappt irgendwie nicht. was mache ich falsch?
Code: |
function replaceit() {
var demostring = document.getElementById('test').innerHTML;
newstring = demostring.replace('<h1>', '<h1>');
newstring = newstring.replace('</h1>', '</h1>');
document.getElementById('test').createTextNode = newstring;
}
function replaceit() {
var demostring = document.getElementById('test').createTextNode;
newstring = demostring.replace('<h1>', '<h1>');
newstring = newstring.replace('</h1>', '</h1>');
document.getElementById('test').createTextNode = newstring;
}
|
beide klappen nicht
momentan bringt mir das script leider eh noch nichts, weil ich einfach will das alle < mit < erstetzt werden und alle > mit > ersetzt werden.
also nicht nur der h1 tag
und das krieg ich nicht hin
Zuletzt bearbeitet von Psilo am Fr 31.10.2008 12:30, insgesamt 1-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 31.10.2008 12:35
Titel
|
|
|
Hier hast du ein Beispiel:
Code: | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function replaceHeadline() {
var wrapper = document.getElementById('wrapper');
var str = document.createTextNode(wrapper.innerHTML);
wrapper.replaceChild(str,wrapper.getElementsByTagName('h1')[0]);
};
window.onload = function() {
replaceHeadline();
}
</script>
</head>
<body>
<div id="wrapper"><h1>Ich bin eine Headline</h1></div>
</body>
</html> |
|
|
|
|
|
Psilo
Threadersteller
Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 31.10.2008 12:42
Titel
|
|
|
hui ui
erstmal danke für deine hilfe und mühe
das ist ja alles so ziemlich neu für mich
also ich habe folgende methode entworfen mit der jetz endlich alle tags umgewandelt werden
ist das eine unschöne methode???
Code: |
function replaceit() {
var demostring = document.getElementById('test').innerHTML;
newstring = demostring.replace(/</gi, '<');
newstring = newstring.replace(/<\//gi, '</');
document.getElementById('test').innerHTML = newstring;
}
|
nach einem test deiner methode ist mir aufgefallen das etwas nicht ganz passt, oder ich mache es enifach falsch...
wenn ich den a tag auch noch umwandeln will passiert folgendes
<h1>Ich bin eine Headline</h1><a href="">blabla</a>blabla
er erstetzt es zwar, aber behält den link auch
Zuletzt bearbeitet von Psilo am Fr 31.10.2008 12:45, insgesamt 1-mal bearbeitet
|
|
|
|
|
status4
Dabei seit: 01.10.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 31.10.2008 12:44
Titel
|
|
|
Kommt ganz darauf an wie man es sieht. Deine Lösung ist weit verbreitet, die von m natürlich schöner und "korrekter".
Aber wenn es für dich so gut funktioniert dann ist es auch so in Ordnung.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Javascript suchen ersetzen / replace
[javascript] replace() ersetzt nur einen match
JS | replace - regex - br
Kleine Frage zu JS replace
Probleme mit eregi-replace() (Badword-Filter)
[javascript] mit <select> feld wert an javascript funk
|
|