Selektieren von Text
Ronny Riedel
- javascript
0 Thomas J.S.0 Ronny Riedel0 rfb
Hallo zusammen,
gegeben sei folgender HTML-Code
~~~html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Namen</title>
<style type="text/css">
ul {
list-style-type: none;
font-family: Courier, monospace;
}
</style>
<script type="text/javascript">
function selNamen(sID) {
alert('to do');
}
</script>
</head>
<body>
<ul>
<li><a href="about:blank" onclick="selNamen('w_namen'); return false;">alle weiblichen Vornamen selektieren</a></li>
<li>
<ul id="w_namen">
<li>Astrid</li>
<li>Mandy</li>
<li>Maria</li>
<li>Melanie</li>
<li>Nadine</li>
<li>Susann</li>
</ul>
</li>
</ul>
<ul>
<li><a href="about:blank" onclick="selNamen('m_namen'); return false;">alle männlichen Vornamen selektieren</a></li>
<li>
<ul id="m_namen">
<li>Bernd</li>
<li>Hans</li>
<li>Klaus</li>
<li>Marcus</li>
<li>Matthias</li>
<li>Oliver</li>
<li>Ronny</li>
</ul>
</li>
</ul>
</body>
</html>
~~~
~~~~~~~~~~~~~~~~~~~~~~~ waste ~~~~~~~~~~~~~~~~~~~~~~
Gibt es eine Möglichkeit, den Text vom inneren <UL>-Tag zu selektieren, wenn ich auf den Link darüber klicke?
Kann ich allgemein Text eines HTML-Dokumentes selektieren, der nicht in einer TextBox bzw. TextArea enthalten ist?
Danke für Tipps & Gruß
RR
Hallo,
gegeben sei folgender HTML-Code
Gibt es eine Möglichkeit, den Text vom inneren <UL>-Tag zu selektieren, wenn ich auf den Link darüber klicke?
function selNamen(sID) {
var strText = "";
var arrLI = document.getElementById(sID).getElementsByTagName("li");
for(var i = 0; i < arrLI.length; i++) {
strText += arrLI[i].firstChild.data + ", ";
}
alert(strText);
}
Grüße
Thomas
Hallo Thomas,
ich meinte wirklich, den Text selektieren, so das das ganze dann so aussieht (wenn der User auf den Link klickt):
Das mit dem alert('to do');
war einfach nur ein "Merker" :-)
Gruß
RR
Moin
ich meinte wirklich, den Text selektieren, so das das ganze dann so aussieht (wenn der User auf den Link klickt):
wenn es sich nur ums Aussehen dreht kannst du in der Schleife einfach Schrift- und Hintergrundfarbe ändern.
function selNamen(sID) {
var arrLI = document.getElementById(sID).getElementsByTagName("li");
for(var i = 0; i < arrLI.length; i++) {
arrLI[i].style.color="white";
arrLI[i].style.backgroundColor="blue";
}
}
Ansonsten müsstest du mal erklären, was sonst noch mit den markierten Namen pasieren soll.
Gruß
rfb
Moin,
Ansonsten müsstest du mal erklären, was sonst noch mit den markierten Namen pasieren soll.
also "normalerweise" sind das nicht nur 2 Listen mit < 10 Einträgen, sondern X Listen mit teilweise > 100 Einträgen. Einige User wollen sich einzelne Listen in z.B. Mails kopieren. Also markieren sie per Maus die Liste und drücken dann die altbekannte Tastenkombi "STRG + C". Nun passiert es gerade bei langen Listen recht häufig, das bei der Selektion per Hand & Maus über das Ende der entsprechenden Liste hinaus selektiert wird (da der Browser dann doch ziemlich schnell scrollt). Daher kam die Idee hoch den Text per Klick zu selektieren, damit die User dann nur noch "STRG + C" drücken brauchen, um den selektierten Text in die Zwischenablage zu kopieren.
Gruß
RR
Hallo,
also "normalerweise" sind das nicht nur 2 Listen mit < 10 Einträgen, sondern X Listen mit teilweise > 100 Einträgen. Einige User wollen sich einzelne Listen in z.B. Mails kopieren. Also markieren sie per Maus die Liste und drücken dann die altbekannte Tastenkombi "STRG + C". Nun passiert es gerade bei langen Listen recht häufig, das bei der Selektion per Hand & Maus über das Ende der entsprechenden Liste hinaus selektiert wird (da der Browser dann doch ziemlich schnell scrollt). Daher kam die Idee hoch den Text per Klick zu selektieren, damit die User dann nur noch "STRG + C" drücken brauchen, um den selektierten Text in die Zwischenablage zu kopieren.
"Vergiss es". Irgendwie dachte ich, es ginge um was "ernsthafteres". Du kannst nicht jedem User das Denken und Handeln abnehmen, nur weil er zu schnell mit seinem Browser scrollt oder mal "husch-husch" was markiert anstatt darauf zu achten was er macht.
Grüße
Thomas
"Vergiss es". Irgendwie dachte ich, es ginge um was "ernsthafteres". Du kannst nicht jedem User das Denken und Handeln abnehmen, nur weil er zu schnell mit seinem Browser scrollt oder mal "husch-husch" was markiert anstatt darauf zu achten was er macht.
Grüße
Thomas
Hallo,
also irgendwie scheint es so zu sein, das Text innerhalb von Nicht-Form-Elementen (also "<td>", "<div>", etc.) nicht per JavaScript selektiert werden können. Ich habe zumindest in der Gecko-Referenz bzw. in der MSDN-Libray nichts gefunden.
Dann muß ich das Problem doch anders lösen
Gruß
RR
PS: <ironie>Ich mag Leute die ein technisches Problem fachlich hinterfragen und dann den Sinn in Frage stellen.</ironie>
Hallo,
PS:
<ironie>Ich mag Leute die ein technisches Problem fachlich hinterfragen und dann den Sinn in Frage stellen.</ironie>
Ich auch.
Vor allem weil ich weiss, dass "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning"!
Aber wenn du unbedingt das haben willst:
Wie du an den Text rankommst weiss du schon. Erstelle ein Div, darin ein Textarea, füge den Text in die Textarea ein, mache das Div sichtbar, und selektiere nun den Text im Textarea.
Grüße
Thomas