354 Stimmen

Ändern der ID eines Elements mit jQuery

Ich brauche, um die ID eines Elements mit jQuery zu ändern.

Offenbar funktionieren sie nicht:

jQuery(this).prev("li").attr("id")="newid"
jQuery(this).prev("li")="newid"

Ich habe herausgefunden, dass ich das mit dem folgenden Code bewerkstelligen kann:

jQuery(this).prev("li")show(function() {
    this.id="newid";
});

Aber das scheint mir nicht richtig zu sein. Es muss doch einen besseren Weg geben, oder? Und falls es keine gibt, welche andere Methode kann ich anstelle von Ein-/Ausblenden oder anderen Effekten verwenden? Offensichtlich möchte ich nicht zeigen/verstecken oder beeinflussen das Element jedes Mal, nur um seine ID zu ändern.

(Ja, ich bin ein jQuery-Neuling.)

Editar
In diesem Fall kann ich keine Klassen verwenden, sondern muss IDs benutzen.

4voto

<script>
       $(document).ready(function () {
           $('select').attr("id", "newId"); //direct descendant of a
       });
</script>

Das könnte für alle Zwecke reichen. Fügen Sie einfach vor Ihrem Körper schließenden Tag und nicht für bekommen, um hinzuzufügen Jquery.min.js

0voto

rfornal Punkte 4972

Die Antwort von Eran ist gut, aber ich würde sie noch ergänzen. Sie müssen jede Interaktivität, die nicht inline auf das Objekt (das heißt, wenn ein Onclick-Ereignis eine Funktion aufruft, wird es immer noch) zu beobachten, aber wenn es einige Javascript oder jQuery-Ereignis-Behandlung zu dieser ID angehängt ist, wird es im Grunde aufgegeben werden:

$("#myId").on("click", function() {});

Wenn die ID nun in #myID123 geändert wird, funktioniert die oben angehängte Funktion meiner Erfahrung nach nicht mehr korrekt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X