wake-up-neo.net

So ändern Sie das title-Attribut eines Elements mit jQuery

Ich habe ein Formulareingabeelement und möchte dessen title-Attribut ändern. Das muss einfach sein, aber aus irgendeinem Grund kann ich nicht herausfinden, wie das geht. Wie wird das gemacht und wo und wie soll ich nach einer Lösung suchen?

220
Brian

Bevor wir Code schreiben, wollen wir den Unterschied zwischen Attributen und Eigenschaften diskutieren. 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, wie einem einfachen HTMLElement, möchten Sie fast immer mit seinen - Eigenschaften arbeiten, nicht mit seinen - Attributen Sammlung.

Die derzeit empfohlene Vorgehensweise besteht darin, die Arbeit mit Attributen zu vermeiden, es sei denn, sie sind benutzerdefiniert oder es gibt keine entsprechende Eigenschaft, um sie zu ergänzen. Da title für viele HTMLElement tatsächlich als Lese-/Schreibeigenschaft existiert , sollten wir dies nutzen.

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

In diesem Sinne manipulieren wir title...

Ruft die Eigenschaft title eines Elements ohne jQuery ab oder legt sie fest

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

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

Der Abruf ist nahezu identisch. nichts besonderes hier:

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

Dies ist die schnellste Möglichkeit, den Titel zu ändern, wenn Sie eine Optimierungsnuss sind. Da Sie jedoch wollten, dass jQuery einbezogen wird:

Abrufen oder Festlegen der Eigenschaft title eines Elements mit jQuery (v1.6 +)

jQuery hat in Version 1.6 eine neue Methode eingeführt, um Eigenschaften abzurufen und festzulegen. Verwenden Sie zum Festlegen der Eigenschaft title für ein Element Folgendes:

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

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

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

Lesen Sie die prop() API-Dokumentation für jQuery.

Wenn Sie wirklich keine Eigenschaften verwenden möchten oder eine Version von jQuery vor v1.6 verwenden, sollten Sie Folgendes lesen:

Abrufen oder Festlegen des Attributs title eines Elements mit jQuery (Versionen <1.6)

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

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

Oder rufen Sie es mit:

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

Lesen Sie die attr() API-Dokumentation für jQuery.

437
Cᴏʀʏ

In modalen jquery ui-Dialogen müssen Sie dieses Konstrukt verwenden:

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

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 Kernfunktionen in jQuery Docs finden, obwohl ich die Formatierung hasse.

16
womp

Wenn Sie möchten, können Sie auch das DOM-Element aus dem jQuery-Objekt abrufen und Standard-DOM-Accessoren verwenden:

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

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

7
Greg Campbell

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

Versuchen

var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');
2
R Singh
jqueryTitle({
    title: 'New Title'
});

für den ersten Titel:

jqueryTitle('destroy');

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

2
Erdi Ertaş