• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gibt es eine Methode wie addClass nur für eine ID?

Status
Für weitere Antworten geschlossen.

kayyy

Mitglied
Ich habe gestern schon überall gesucht, aber nichts wirkliches gefunden.
Ich benötige eine Methode, wo ich über Javascript/jQuery einem Element eine ID geben kann.

Im Prinzip genau wie addClass nur eben für eine ID.

Geht sowas, wenn ja wie?
 
Vorweg erst mal: jQuery ist nur ein Framework für Javascript. heisst JQuery ist auch nicht anderes als javascript :)
Du kannst einem Element natürlich eine Id vergeben. Dafür mal ein kleines Beispiel
HTML:
<p id="absatz">
  Blabla
  <strong>Wichtig!</strong>
</div>

Nun willst du dem Strong Element eine id verpassen

Code:
var absatz = document.getElementbyId("absatz");
// Da get Elements immer eine ObjektListe zurückliefert wird hier das erste Element gewählt. (Also index 0)
absatz.getElementsByTagName("strong")[0].id = "wichtiges";
 
wenn ich also einem <ul> die id 3 geben möchte, dass in einem <li> mit der class active liegt.


Code:
var 3 = document.getElementbyId("3");
// Da get Elements immer eine ObjektListe zurückliefert wird hier das erste Element gewählt. (Also index 0)
3.getElementsByTagName("li.active ul")[0].id = "3";
wäre das so richtig?

ps: mein code sieht so aus

Code:
<ul id="3">
<li>hauptmenü
<ul /* diese liste soll eben auch die id 3 haben*/><li>submenu</li></ul>
</li></ul>
 
Zuletzt bearbeitet:
Nein. Denn getElementsByTagName versteht leider keine CSS-Selektoren. das geht nur über querySelector(), was noch zu neu ist, um das ernsthaft in Erwägung zu ziehen.

Und "3" ist keine gültige ID.
 
Da du oben schon jQuery erwähntest:

HTML:
<!DOCTYPE html>

<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>demo</title>
          <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

  <script type="text/javascript">
  $(document).ready(function(){
    $("#test > li.active > ul").css("border", "3px double red");
  });
  </script>

    </head>

    <body>

    <ul id="test">
        <li class="active">hauptmenü
            <ul><li>submenu</li></ul>
        </li>
    </ul>

    </body>

</html>
 
Code:
<ul id="3">
<li>hauptmenü
<ul /* diese liste soll eben auch die id 3 haben*/><li>submenu</li></ul>
</li></ul>
Böse böse böse :D
Eine Id ist eine Eindeutige Zuweisung. Bitte lies dir deswegen deinen satz nochmal durch und überlege, ob es Sinn macht :)
Zahlen sind als variablen nicht erlaubt und Id als auch nicht :)
mach doch lieber eine Aussage darüber, was dieser Punkt ist. z.B. menu3, oder Ähnliches. Und wenn du weisst, dass deine Liste folgenden Aufbau hat. ul mit id menu3. Darunter hat das erste Listenelement wieder eine eigene Liste und diese willst du auszeichnen

Code:
var menu3 = document.getElementById("menu3");
var menupunkt = menu3.getElementsByTagName("li") [0];
menupunkt.getElementsByTagName("ul")[0].id = "menu4";

Das obere geht auch in einer Zeile. Hab es nur für dich lesbarer geschrieben. hier mal in einer Zeile :)
Code:
document.getElementById("menu3").getElementsByTagName("li")[0].getElementsByTagName("ul")[0].id = "menu4";

Du musst lediglich nur verstehen wie das mit DOM funktioniert. Um nach Klassennamen zu suchen musst du eine eigene Funktion erstellen, oder du benutzt ein Framework wie JQuery.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben