Übergeordneten Tag ermitteln und ansprechen
oxidor
- javascript
Hallo zusammen,
ich biete einen Service an, wo der Benutzer ein Script auf seiner Seite einbaut. Nun sind manche "so schlau" und bauen z.b. ein div mit display:none um diesen script-aufruf.
so z.b.
<div style="display:none"><script type="text/javascript" src="..."></script></div>
jetzt meine frage:
ist es javascript möglich, den tag um den script tag zu ermitteln und anzusprechen, obwohl dieser keine id besitzt?!
ich würde gerne mittels code dieses display aufheben.
gruß christian
Hallo oxidor,
ist es javascript möglich, den tag um den script tag zu ermitteln und anzusprechen, obwohl dieser keine id besitzt?!
Klar, ermittle das http://de.selfhtml.org/javascript/objekte/all.htm#parent_element@title=Elternelement.
Mit freundlichem Gruß
Micha
Mahlzeit Micha,
Klar, ermittle das http://de.selfhtml.org/javascript/objekte/all.htm#parent_element@title=Elternelement.
Das Elternelement von was? Wie findet man denn das <script>-Element, dessen in seiner "src"-Eigenschaft verlinkter Code gerade ausgeführt wird?
MfG,
EKKi
Hallo EKKi,
Das Elternelement von was? Wie findet man denn das <script>-Element, dessen in seiner "src"-Eigenschaft verlinkter Code gerade ausgeführt wird?
Beispielsweise mit getElementsByTagName(); ggf. mit einer weiteren Suche nachdem passenden Script-File.
var s = document.getElementsByTagName("script");
alert(s[0]+" "+s[0].parentNode);
liefert mir im Opera:
<localhost>
[object HTMLScriptElement] [object HTMLDivElement]
http://de.selfhtml.org/javascript/objekte/node.htm#parent_node@title=parentNode war im Übrigen das korrekte Stichwort und nicht parentElement.
Mit freundlichem Gruß
Micha
Hallo Micha,
var s = document.getElementsByTagName("script");
alert(s[0]+" "+s[0].parentNode);
Wie wäre es so:
~~~html
<div id="myScriptParent" >
<script type="text/javascript">
[code lang=javascript]var s = document.getElementsByTagName("script");
alert( s[s.length-1].parentNode.id );
</script>
</div>[/code]
Die ID dient hier nur der Demonstration über alert, dass der richtige Elternknoten gefunden wird.
Gruß Gernot
Mahlzeit Gernot Back,
var s = document.getElementsByTagName("script");
alert( s[s.length-1].parentNode.id );
Das sieht schon erheblich besser aus ... wieder was gelernt. :-)
MfG,
EKKi
genial! das klappt :)
vielen dank.
gruß christian
Hallo Gernot Back,
Wie wäre es so:
Sieht gut aus und scheint das richtige für oxidor zu sein :-)
Mit freundlichem Gruß
Micha
Mahlzeit Micha,
var s = document.getElementsByTagName("script");
alert(s[0]+" "+s[0].parentNode);[/code]
Und wenn es sich *NICHT* um das erste <script>-Element handelt?
Schließlich kann oxidor das ja nicht beeinflussen ...
MfG,
EKKi
Hallo EKKi,
Und wenn es sich *NICHT* um das erste <script>-Element handelt?
ggf. mit einer weiteren Suche nachdem passenden Script-File. oder gleich den eleganteren Weg von Gernot Back.
Mit freundlichem Gruß
Micha
Hi,
ich biete einen Service an, wo der Benutzer ein Script auf seiner Seite einbaut. Nun sind manche "so schlau" und bauen z.b. ein div mit display:none um diesen script-aufruf.
[...]
ich würde gerne mittels code dieses display aufheben.
Na gut, dann lässt sich "mancher" eben etwas anderes einfallen.
MfG ChrisB