oxidor: Übergeordneten Tag ermitteln und ansprechen

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

  1. 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

    --
    kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
    1. 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

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. 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

        --
        kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
        1. 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

          1. 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

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. genial! das klappt :)

              vielen dank.

              gruß christian

          2. Hallo Gernot Back,

            Wie wäre es so:

            Sieht gut aus und scheint das richtige für oxidor zu sein :-)

            Mit freundlichem Gruß
            Micha

            --
            kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
        2. 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

          --
          sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
          1. 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

            --
            kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
  2. 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

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.