XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   Nächstes Listenelement anzeigen (http://xhtmlforum.de/showthread.php?t=73665)

KATERchen 26.10.2018 14:48

Nächstes Listenelement anzeigen
 
Hallo,
ich bin noch relativ neu bei jQuery und stehe gerade vor einem Problem, bei dem mir einfach eine Idee zum weiterkommen fehlt.
Ich habe eine Liste mit eigenen ID's pro Listeneintrag:
HTML-Code:

<ul>
<li id="11a"></li>
<li id="11b"></li>
<li id="11c"></li>
<li is="11d"></li>
</ul>

Über ein Scirpt wird eine bestimmte ID angesprochen und angezeigt, z.B. #11b.
Nun will ich mit einem Klick die nächste ID (#11c) ansprechen. Und beim nächsten Klick dann #11d. Ich habe aber gerade keine Idee, wie ich das anstellen kann.

basti1012 26.10.2018 16:34

dafür gibt es next()
zb so
https://codepen.io/basti1012/pen/VEgrMV

basti1012 26.10.2018 16:35

ach noch was. Ids fangen nie mit einer Zahl an. Wie du in meinen Beispiel sehen kannst fangen die ids mit einen Buchstaben an .

KATERchen 26.10.2018 16:46

Danke Dir. Heute schaffe ich es nicht mehr, werde mir das aber morgen mal in Ruhe angucken. Auf den ersten Blick aber das, was ich suche :)

Zitat:

Zitat von basti1012 (Beitrag 553115)
ach noch was. Ids fangen nie mit einer Zahl an.

Mhh, dass hier war jetzt auch nur ein Beispiel, in meiner Seite fangen tatsächlich alle ID's mir einem Buchstaben an.
Allerdings habe ich noch nie was gehört, dass es anders nicht sein darf. Auch beim schnellen googeln habe ich nichts gefunden. Gibt es einen Grund für die Regel?

etux 27.10.2018 07:36

Zitat:

Zitat von KATERchen (Beitrag 553116)
Gibt es einen Grund für die Regel?

Das war in der Zeit von html4 so.
Bei html5 müssen id-Attribute mindestens ein Zeichen und keine Leerzechen enthalten. Mehr ist da nicht definiert.
Es ist trotzdem besser sich an der alten Regel zu halten.
Es ist mir vor einigen Zeit aufgefallen, dass sich einer der aktuellen Browser IDs, die mit einer Zahl anfangen, ignoriert. Leider weiß ich nicht mehr, welcher Browser das war – möglicherweise Opera.
Benutzt man auch andere Zeichen, außer Buchstaben und Zahlen, ist es zwar valide, aber manche Zeichen müssten dann kaschiert werden (mit einem Back-Slash), wenn man die Elemente in einem JavaScript anspricht.

etux 27.10.2018 08:03

Zitat:

Zitat von etux (Beitrag 553117)
Es ist mir vor einigen Zeit aufgefallen, dass sich einer der aktuellen Browser IDs, die mit einer Zahl anfangen, ignoriert. Leider weiß ich nicht mehr, welcher Browser das war – möglicherweise Opera.

Nein, das war anders:
nur der Internet Explorer könnte damit was anfangen, sonst keiner der aktuellen Browser.

Ich habe schon sein einigen Jahren kein IE mehr, es dürfte aber der IE 8 gewesen sein, denn neuere Versionen liefen unter Linux nicht.

KATERchen 28.10.2018 12:54

Zitat:

Zitat von etux (Beitrag 553117)
Das war in der Zeit von html4 so.

Das erklärt, warum ich dazu nichts mehr gefunden habe. Werde aber trotzdem darauf achten. Sollte ja kein Problem sein.

@basti1012
Danke für den Tipp, hat geklappt :)

cloned 29.10.2018 09:48

Zitat:

Zitat von etux (Beitrag 553118)
Nein, das war anders:
nur der Internet Explorer könnte damit was anfangen, sonst keiner der aktuellen Browser.

Ich habe schon sein einigen Jahren kein IE mehr, es dürfte aber der IE 8 gewesen sein, denn neuere Versionen liefen unter Linux nicht.

IE8 ist seit Jahren nicht mehr ansatzweise aktuell. Heutzutage können alle aktuellen Browser etwas mit der neuen ID Syntax anfangen, da dürfen IDs also auch mit Zahlen beginnen.

Internet Explorer wird übrigens nicht mehr weiterentwickelt, Version 11 wird also für immer "die letzte Version" bleiben.

Zitat:


Es ist mir vor einigen Zeit aufgefallen, dass sich einer der aktuellen Browser IDs, die mit einer Zahl anfangen, ignoriert. Leider weiß ich nicht mehr, welcher Browser das war – möglicherweise Opera
Auch diese Aussage zeigt, dass das Wissen bezüglich Browser sehr veraltet ist, Opera verwendet seit einigen Jahren die selbe Renderingengine wie Chrome.
Was ich damit sagen will: Bitte bringe dein Wissen bezüglich Browser auf einen aktuellen Stand ;)

basti1012 30.10.2018 00:34

Zitat:

Zitat von etux (Beitrag 553117)
Das war in der Zeit von html4 so.

Ok danke dir. Ds wußte ich jetzt zum Beispiel nicht das es in html5 erlaubt ist. Ich muß aber sagen das ich mich dran gewöhnt habe und auch nicht wirklich einen Grund brauche um eine id mit einer Zahl zu starten. Ist vieleicht für Schleifen interesant aber sonst fäll mir kein Grund ein.

Aber danke fürs Update.

Malnee frage hier in der Runde geschnißen.
Es solldoch bei Html5 erlaubt sein seine eigene Tagszu erstellen
zb
Code:

<basti1012>Hallo Welt</basti1012>
Hat das schon mal einer gemacht?
zw gibt es irgendwelche Vorteile ?
Habe das mal bei codepen gemacht weil es schnell gehen musste und keine classen vergeben wollte,ansonsten kam das bei mir noch nicht vor.
Was für erfahrungen bzw was haltet ihr davon von der komischen Regel oder auch nicht Regel,.fals das überhaupt stimmen tut .?

etux 30.10.2018 06:12

Zitat:

Zitat von basti1012 (Beitrag 553127)
Ds wußte ich jetzt zum Beispiel nicht das es in html5 erlaubt ist.

Nein, es macht die html-Code zwar nicht invalide, aber es ist invalide als CSS Selektor.
Außerdem können die aktuelle Browser nichts damit anfangen - unabhängig davon, was cloned behauptet. ;)

Zugegeben, ich habe mich im ersten Beitrag sehr unklar ausgedruckt.
Ich hatte lange Nacht, war gerade nach hause gekommen und etwas "müde". ;)

Was ich sagen wollte:
Die CSS-Syntax für Vers. 2.1 regelt sehr genau, was als value bei einer ID geschrieben werden darf.
Für CSS Vers. 3 (und auch 2.2) habe ich nicht gefunden, dass Zahlen am Anfang nicht stehen dürfen. Obwohl es nicht funktioniert und invalide wäre.
Und das hat mich damals eben irritiert. Offensichtlich auch einige andere.

Gefunden habe ich nur, dass eine ID mindestens ein Zeichen enthalten muss und keine leere Zeichen.
Weiß jetzt nicht mehr, ob da auch stand, dass eine ID nur ein mal pro html-Document vorkommen darf (Für die Vers. 2.1 steht es natürlich drin).

Andererseits, verweist der Link auf dem Wort "identifiers" im Text für die ID Selektoren (Level 3),
https://www.w3.org/TR/selectors-3/#id-selectors

auf die Seite mit der "alten" Regel für CSS Vers. 2.1:
https://www.w3.org/TR/CSS21/syndata....def-identifier

Als Fazit also: die „alte“ Regel ist auch die neue Regel. :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:36 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2020, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2019