Einem Element "name" und "id" vergeben - und ansprechen - möglich?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Einem Element "name" und "id" vergeben - und ansprechen - möglich?

    Hallo,

    ich versuche mittels DOM die eigenschaften eines DIV's zu ändern.

    Habe hier 4 divs mit dem selben namen, und jeweild einer id von 1 - 4.

    Mun gebe ich der JS alles elementen zunächst die gleiche eingenschaft und spreche alle per "getElementsByTagName", da sie ja den gleichen namen haben.

    Danach will ich nur das Element ändern, welche die id von 1 - 4 hat.

    Leider scheint das nicht zu funktionieren, und ich weis nicht wieso.

    dierdercode

    PHP-Code:

    function my_tab(tabarttab)
    {

    if(
    tabart == "subtab")
        {    
                
    document.getElementsByTagName("subtab_left").style.backgroundImage =  "";
    document.getElementsByTagName("subtab_right").style.backgroundImage =  "";        
            
            
            
    document.getElementById("subtab_left_"+tab).style.backgroundImage =  "url('./images/post/sub_tab_left.png')";
    document.getElementById("subtab_right_"+tab).style.backgroundImage =  "url('./images/post/sub_tab_right.png')";

        }

    die konsole schreibt "document.getElementsByTagName("subtab_left").style is undefined"..

    PHP-Code:
    <div name="subtab_left" id="subtab_left_1" style="height:18px; width:8px; background-image:url(./images/sub_tab_left.png)">
    </
    div
    kann aber nicht sein, da es existiert.. mit id und name, wie bereits erwähnt.

    Besten Dank!!
    Zuletzt geändert von BananaJo; 04.12.2010, 15:29.

  • #2
    Aus SelfHTML zum Thema id:
    Der Wert eines solchen Attributs muss mit einem Buchstaben A-Z oder a-z beginnen
    Außerdem bezieht dich document.getElementsByTagName auf das Tag an sich. Also hier document.getElementsByTagName('div'). Schau dir doch mal das hier an. Da wird alles erklärt.
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      ja es beginnt doch mir einem Buchstaben.. dem "s" ..
      habs grad auch mit "getElementsByName" .. aber da ist der selbe fehler..

      "document.getElementsByName("subtab_left").style is undefined"

      ich dreh gleich noch ab ey .. das element existiert und ich hab auch schon alles 100x nach fehlern durchgesucht.. aber es funzt einfach nicht.. sehr komisch ey...

      Kommentar


      • #4
        Zitat von BananaJo Beitrag anzeigen
        und ich hab auch schon alles 100x nach fehlern durchgesucht..
        Validiere deinen HTML-Code, dann bekommst du gesagt, was falsch ist.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Wie kann ich den denn validieren?? Danke!!

          Kommentar


          • #6
            The W3C Markup Validation Service
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Außerdem solltest du mal auf ein entsprechendes Entwicklertool zugreifen, z.B Firebug. Und wie du damit arbeitest, erfährst du hier.

              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                ich benutze ja firebug und kenne mich auch soweit gut mit der Programmierung aus
                Firebug gibt den oben genannten fehler aus, das der Name "undefined" ist..

                nur der fehler tritt bei mir so zum ersten mal auf und erscheint mir total undlogisch da name und id ja geineimsam kein problem sein sollten.
                Zuletzt geändert von BananaJo; 04.12.2010, 17:36.

                Kommentar


                • #9
                  Zitat von BananaJo Beitrag anzeigen
                  nur der fehler tritt bei mir so zum ersten mal auf und erscheint mir total undlogisch da name und id ja geineimsam kein problem sein sollten.
                  Validiere endlich dein HTML, dann wirst du darauf hingewiesen, wo dein Denkfehler liegt.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    nach dem validieren wird angezeigt das der name nicht gesetzt ist.. wie kann das sein??

                    hier die Fehlermendung:
                    Line 649, Column 24: there is no attribute "name"
                    You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

                    This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

                    How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the FAQ item on valid flash.

                    Kommentar


                    • #11
                      Zitat von BananaJo Beitrag anzeigen
                      hier die Fehlermendung:
                      Line 649, Column 24: there is no attribute "name"
                      You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element.
                      Was gibt es daran nicht zu verstehen?

                      div hat kein name-Attribut.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        hmmmm.. der code stannd doch oben schon..
                        PHP-Code:
                        <div name="subtab_left" id="subtab_left_1" style="height:18px; width:8px; background-image:url(./images/sub_tab_left.png)">
                        </
                        div
                        wo ist denn da kein name???
                        Zuletzt geändert von BananaJo; 05.12.2010, 11:48.

                        Kommentar


                        • #13
                          wo ist denn da kein name???
                          Da ist ein Name!
                          Und genau das ist das Problem.
                          Ein Div hat kein Name Attribut.

                          Vergleich:
                          Es ist so, als würdest du sagen:
                          HTML-Code:
                          <Fußball motor="4Takt"> Bunt </Fußball>
                          Was natürlich völliger Unsinn wäre, denn ein Fußball hat keinen Motor.

                          Alle Klarheiten beseitigt?
                          Zuletzt geändert von combie; 05.12.2010, 12:09.
                          Wir werden alle sterben

                          Kommentar


                          • #14
                            hmmm ja danke..

                            hab jetztso gelößt:
                            PHP-Code:
                            var allElems document.getElementsByTagName('*');
                                    for (var 
                            0allElems.lengthi++) {
                                        var 
                            thisElem allElems[i];
                                        if (
                            thisElem.className && thisElem.className == 'subtab_left') {
                                            
                            thisElem.style.backgroundImage =  "";
                                        }            
                                    } 
                            funzt soweit..

                            Kommentar


                            • #15
                              Bist du verrückt, alle Elemente zu durchlaufen?
                              PHP-Code:
                              var allElems document.getElementsByTagName('div'); 
                              sollte doch völlig ausreichen.

                              Peter
                              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                              Meine Seite

                              Kommentar

                              Lädt...
                              X