Beat: Race Condition?

Beitrag lesen

Elemente erzeugen einen Kontext. Im konkreten Fall ist zwar keine Regelverletzung vorliegend, da dort, wo ein a Element stehen darf, auch ein object Element erlaubt ist.

Was wäre deine Alternative dazu, Element im DOM durch andere Elemente zu ersetzen?
Neue Elemente zusätzlich zu den bestehenden ins Dokument einzuhängen? Auch da musst du dir überlegen, wo diese erlaubt sind und wo nicht.

Ich hänge im allgemeinen Elemente nicht blind ins Dom, sondern an vordefinierten Stellen.

Konkret handelt es sich ja nicht um eine geeignete library Funktion (dazu arbeitet sie zu pauschal).
Ein erlaubter Kontext kann im HTML zum Beispiel durch die explizite classe versichert werden.
Meine Funktion würde eher
<div class="mp3player"><a .../></div>
voraussetzen, und müsste zumal nicht einmal das a Element ersetzen. display:none reicht ja, wobei ich mich im konkreten Fall auch Frage, warum man den Downloadlink eigentlich entfernen muss.

Verallgemeinert würde ich jedoch eine Lösung bevorzugt, welchen den Kontext, in welchem das zu ersetzende Element steht, überprüft.

Das macht der Browser.
Der Versuch, ein Element im DOM an einer Position einzuhängen, wo es nicht stehen darf, wird mit einem Laufzeitfehler quitiert.

dem man mit try/catch behandeln vorbeugen muss.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische