Wie lösche ich inner html

8

Ich habe schon eine Weile damit herumgetüftelt, aber es funktioniert nicht und ich kann nicht herausfinden, warum bitte hier helfen soll, was ich habe:

%Vor%

Der mouseover funktioniert und zeigt den Text im div an, aber wenn ich die Maus aus dem h1-Tag entferne, bleibt der Text dort und ich weiß nicht warum, Hilfe wäre willkommen, danke.

    
Moonkaman227 23.03.2014, 16:42
quelle

2 Antworten

12

Das Problem scheint zu sein, dass das globale Symbol% ​​co_de% bereits verwendet wird und Ihre Funktion es nicht schafft, es zu überschreiben. Wenn Sie diesen Namen in etwas anderes ändern (ich habe clear verwendet), funktioniert es gut:

Live: Version mit blah , die fehlschlägt | Version mit clear , die funktioniert

%Vor%

Dies ist eine großartige Illustration des grundlegenden Prinzips: Vermeide globale Variablen, wo immer es möglich ist. Der globale Namespace in Browsern ist unglaublich überfüllt, und wenn Konflikte auftreten, erhalten Sie seltsame Fehler wie diese.

Eine logische Folge davon ist, dass die altmodischen blah -Attribute nicht zum Verbinden von Event-Handlern verwendet werden, da sie globale Variablen benötigen. Verwenden Sie stattdessen zumindest Code, um die Dinge zu verknüpfen: Live Copy

%Vor%

... und noch besser, benutze DOM2 onxyz=... (oder addEventListener auf IE8 und früher), damit du mehrere Handler für ein Event auf einem Element haben kannst.

    
T.J. Crowder 23.03.2014, 16:48
quelle
-2

Sehen Sie sich das an. eine saubere und einfache Lösung mit jQuery.

Ссылка

%Vor%     
thetrompf 23.03.2014 16:50
quelle

Tags und Links