Bereich definieren (01 - 100)

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

  • Bereich definieren (01 - 100)

    Hallo,
    wie kann ich einen Bereich definieren, um eine ganze Reihe von Selektoren abzukürzen?

    <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
    <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.draggable.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    $('.splash_01, .splash_02').draggable({ cursor: 'crosshair' });
    });
    </script>

    Es geht um die .splash_01-Selektoren. Ich werde da nach und nach welche dazu bauen und jetzt sind es schon 11. Ich möchte umgehen, dass ich die alle da oben reinschreiben muss. Gibt es da eine Lösung? Sowas: §('.splash_[$0-100]')

    Es sollen einfach alle splash_xx angesprochen werden.

    Vielen Dank für eure Hilfe!
    Zuletzt geändert von nesmit; 17.07.2009, 09:50.

  • #2
    Was soll das sein? prototype.js, jquery? Ist auf jeden fall das falsche Forum, daher * verschieb *. Und bitte sag das nächste Mal, welches JS-Framework du benutzt.

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

    Kommentar


    • #3
      jquery-1.3.2.js

      sorry.

      Kommentar


      • #4
        Zitat von nesmit Beitrag anzeigen
        Hallo,
        wie kann ich einen Bereich definieren, um eine ganze Reihe von Selektoren abzukürzen?

        <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
        <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
        <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.draggable.js"></script>
        <script type="text/javascript">
        $(document).ready(function(){
        $('.splash_01, .splash_02').draggable({ cursor: 'crosshair' });
        });
        </script>

        Es geht um die .splash_01-Selektoren. Ich werde da nach und nach welche dazu bauen und jetzt sind es schon 11. Ich möchte umgehen, dass ich die alle da oben reinschreiben muss. Gibt es da eine Lösung? Sowas: §('.splash_[$0-100]')

        Es sollen einfach alle splash_xx angesprochen werden.

        Vielen Dank für eure Hilfe!
        Wenn du den Elementen noch behelfmäßig eine eindeutige Klasse mitgibst kannst du sie doch mit dem .class-Selector alle auswählen -> Selectors/class - jQuery JavaScript Library

        Edit_: Sorry zu früh gefreut ^^ Müssen die Splashes denn die Klasse .splash_xx haben? Oder sehen die dann immer gleich aus? Also vom CSS her? Wenn die alle die selbe Klasse haben können, geb denen doch nur eine Klasse die einfach .splash ist. Dazu sind Klassen ja da, wenn jedes Element anders aussehen soll wären ID's doch besser, oder sehe ich das falsch?
        Zuletzt geändert von mkb_webprint; 17.07.2009, 09:57.

        Kommentar


        • #5
          Ja, das ist genau das. Jede Klasse ist woanders. Also mit einer Haupt-Klasse könnte ich dann nur alle Elemente insgesamt verschieben. .splash_01 hat zB margin: 70px 0 0 95px; und .splash_02 hingegen hat margin:0 0 0 310px;

          Ich möchte einfach den header nicht immer wieder verändern müssen, wenn ich später noch 5 weitere .splash_xx hinzufügen möchte.

          Kommentar


          • #6
            Kann es sein, dass du Klassen als IDs missbrauchst?

            Kommentar


            • #7
              Zitat von nesmit Beitrag anzeigen
              Ja, das ist genau das. Jede Klasse ist woanders. Also mit einer Haupt-Klasse könnte ich dann nur alle Elemente insgesamt verschieben. .splash_01 hat zB margin: 70px 0 0 95px; und .splash_02 hingegen hat margin:0 0 0 310px;

              Ich möchte einfach den header nicht immer wieder verändern müssen, wenn ich später noch 5 weitere .splash_xx hinzufügen möchte.
              Dann fällt mir noch der Selektor .class.class ein. Damit kannst du Elemente selektieren, die sowohl die Klasse "splash_xx" haben als auch die Klasse "kontrolle". Dann gibst du deinen Splashes eben noch eine 2. Klasse mit...

              Wäre einen Versuch wert

              Hier der Link zur Doku Selectors/class - jQuery JavaScript Library

              Kann es sein, dass du Klassen als IDs missbrauchst?
              Ja das scheint er zu tun ;-)

              Kommentar


              • #8
                Zitat von h3ll Beitrag anzeigen
                Kann es sein, dass du Klassen als IDs missbrauchst?
                Ich dachte in dem Fall wäre das egal …

                Kommentar


                • #9
                  Zitat von nesmit Beitrag anzeigen
                  Ich dachte in dem Fall wäre das egal …
                  Egal ist Handkäs', der stinkt von allen Seiten ;-)

                  Kommentar


                  • #10
                    Zitat von mkb_webprint Beitrag anzeigen
                    Egal ist Handkäs', der stinkt von allen Seiten ;-)
                    $('#splash_01, #splash_02').draggable({ cursor: 'crosshair' });
                    });

                    Das wäre richtig?

                    Das mit .class.class ist mir noch nicht schlüssig. Da müsste ich ja dann trotzdem immer wieder die neuen Elemente anfügen … oder? Also immer wieder header modifizieren.

                    Kommentar


                    • #11
                      Zitat von nesmit Beitrag anzeigen
                      $('#splash_01, #splash_02').draggable({ cursor: 'crosshair' });
                      });

                      Das wäre richtig?

                      Das mit .class.class ist mir noch nicht schlüssig. Da müsste ich ja dann trotzdem immer wieder die neuen Elemente anfügen … oder? Also immer wieder header modifizieren.
                      Gerade ist mir dein Problem etwas klarer geworden
                      Also Lösungsvorschlag:

                      1. Gib deinen Elementen "splash_xx" als ID - die sind dafür da, ein Element EINDEUTIG zu identifizieren! Deine ID's sehen dann so aus #splash_xx, ok? Eine Klasse ist dazu da, um mehreren Elementen die gleichen Eigenschaften zu geben!

                      2. Du gibst deinen Elementen die Klasse 'blablub'.
                      3. Jetzt kannst du mit jQuery per $('.blablub').draggable({ cursor: 'crosshair' }); alle splash Elemente ansprechen.

                      Viel Erfolg

                      Kommentar


                      • #12
                        Das klingt gut!
                        Probier ich sofort aus.

                        Vielen Dank schon mal!

                        Kommentar


                        • #13
                          Juhu, das klappt bestens. Und ist jetzt zudem noch alles logisch.
                          Danke!

                          Kommentar


                          • #14
                            Eine möglichkeit mit IDs wäre z.B.
                            Code:
                            var arr = new Array(100);
                            for(var i = 1; i < 101; i++){
                             arr[i] = (i < 10 ? "0" : "") + i;
                            }
                            //...
                            $("#splash_" + arr.join(", #splash_")).draggable({ cursor: 'crosshair' });
                            //...
                            delete arr;

                            Kommentar

                            Lädt...
                            X