Stefan Muenz: Link deaktivieren

Beitrag lesen

Hallo Matze,

Gibt es eine Möglichkeit in bestimmten Fällen einen Link zu deaktivieren?

Eigentlich eine schoene Anwendung fuer DOM - und siehe da, im Mozilla funktioniert es auch wie gewuenscht. Kleine Datei zum Testen:

<html><head><title></title></head>
<script type="text/javascript">
function deaktivieren() {
 document.getElementById("Testlink").removeAttributeNode(document.getElementById("Testlink").attributes[1]);
}
function aktivieren() {
 var href = document.createAttribute("href");
 href.nodeValue = "index.htm";
 document.getElementById("Testlink").setAttributeNode(href);
}
</script>
<body>
<p><a id="Testlink" href="index.htm">Test</a></p>
<p>
<a href="javascript:deaktivieren()">deaktivieren</a><br>
<a href="javascript:aktivieren()">aktivieren</a><br>
</p>
</body>
</html>

Leider nicht in IE6 und Opera. Beim IE ist allerdings alles kein Problem, da kann man sich mit dem all-Objekt und der Eigenschaft outerHTML behelfen.

Oder man versucht es ueber die HTML-Elementobjekte (wieder DOM, aber naeher an HTML). Die folgende Variante funktioniert sowohl mit Mozilla als auch mit IE:

<html><head><title></title></head>
<script type="text/javascript">
function deaktivieren() {
 document.getElementById("Testlink").href="#";
 document.getElementById("Testlink").style.textDecoration="none";
}
function aktivieren() {
 document.getElementById("Testlink").href="index.htm";
 document.getElementById("Testlink").style.textDecoration="underline";
}
</script>
<body>
<p><a id="Testlink" href="index.htm">Test</a></p>
<p>
<a href="javascript:deaktivieren()">deaktivieren</a><br>
<a href="javascript:aktivieren()">aktivieren</a><br>
</p>
</body>
</html>

viele Gruesse
  Stefan Muenz