Wie ändert man das Titelattribut eines Elements mit jQuery?

Ich habe ein Formulareingabeelement und möchte sein Titelattribut ändern. Das muss einfach sein, aber aus irgendeinem Grund kann ich nicht finden, wie das geht. Wie wird das gemacht und wo und wie soll ich suchen?

Bevor wir irgendeinen Code schreiben, diskutieren wir den Unterschied zwischen Attributen und Eigenschaften. Attribute sind die Einstellungen, die Sie auf Elemente in Ihrem HTML-Markup anwenden. Der Browser analysiert dann das Markup und erstellt DOM-Objekte verschiedener Typen, die Eigenschaften enthalten, die mit den Werten der Attribute initialisiert wurden. Bei DOM-Objekten, z. B. einem einfachen HTMLElement , möchten Sie fast immer mit seinen Eigenschaften arbeiten , nicht mit ihrer Attributsammlung .

Die derzeit beste Vorgehensweise besteht darin, zu vermeiden, mit Attributen zu arbeiten, es sei denn, sie sind benutzerdefiniert oder es gibt keine äquivalente Eigenschaft, die sie ergänzt. Da der title tatsächlich als Lese- / Schreibeigenschaft für viele HTMLElement , sollten wir ihn nutzen.

Sie können hier oder hier mehr über den Unterschied zwischen Attributen und Eigenschaften lesen.

In diesem Sinne manipulieren wir diesen title

Hole oder setze die Titeleigenschaft eines Elements ohne jQuery

Da title eine öffentliche Eigenschaft ist, können Sie sie für jedes DOM-Element, das sie unterstützt, mit normalem JavaScript festlegen:

 document.getElementById('yourElementId').title = 'your new title'; 

Abruf ist fast identisch; nichts besonderes hier:

 var elementTitle = document.getElementById('yourElementId').title; 

Dies ist der schnellste Weg, den Titel zu ändern, wenn Sie eine Optimierungsmethode sind, aber da Sie jQuery involviert haben wollten:

Holen oder setzen Sie die Titeleigenschaft eines Elements mit jQuery (v1.6 +)

jQuery hat in Version 1.6 eine neue Methode zum Abrufen und Festlegen von Eigenschaften eingeführt. Verwenden Sie zum Festlegen der Titeleigenschaft für ein Element:

 $('#yourElementId').prop('title', 'your new title'); 

Wenn Sie den Titel abrufen möchten, lassen Sie den zweiten Parameter weg und erfassen Sie den Rückgabewert:

 var elementTitle = $('#yourElementId').prop('title'); 

Überprüfen Sie die prop() API-Dokumentation für jQuery.

Wenn Sie wirklich keine Eigenschaften verwenden möchten oder eine Version von jQuery vor Version 1.6 verwenden, sollten Sie weiterlesen:

Holen oder setzen Sie das title Attribut eines Elements mit jQuery (Versionen <1.6)

Sie können das Titelattribut mit dem folgenden Code ändern:

 $('#yourElementId').attr('title', 'your new title'); 

Oder rufen Sie es mit:

 var elementTitle = $('#yourElementId').attr('title'); 

Überprüfen Sie die attr() API-Dokumentation für jQuery.

In jquery ui modalen Dialogen müssen Sie diese Konstruktion aus irgendeinem Grund verwenden:

 $( "#my_dialog" ).dialog( "option", "title", "my new title" ); 

Ich glaube

 $("#myElement").attr("title", "new title value") 

oder

 $("#myElement").prop("title", "new title value") 

sollte den Trick machen …

Ich denke, Sie können alle corefunktionen in den jQuery-Dokumenten finden , obwohl ich die Formatierung hasse.

Eine weitere Option wäre, das DOM-Element aus dem jQuery-Objekt abzurufen und dafür Standard-DOM-Accessoren zu verwenden:

 $("#myElement")[0].title = "new title value"; 

Der “jQuery-Weg”, wie von anderen erwähnt, ist die Methode attr (). Siehe die API-Dokumentation für attr () hier .

 jqueryTitle({ title: 'New Title' }); 

für den ersten Titel:

 jqueryTitle('destroy'); 

https://github.com/ertaserdi/jQuery-Titel

Wenn Sie ein div erstellen und versuchen, einen title hinzuzufügen.

Versuchen

 var myDiv= document.createElement("div"); myDiv.setAttribute('title','mytitle');