Как изменить атрибут заголовка элемента с помощью jQuery - PullRequest
216 голосов
/ 12 июня 2009

У меня есть элемент ввода формы и я хочу изменить его атрибут title. Это должно быть легко, как пирог, но по какой-то причине я не могу найти, как это сделать. Как это сделать, и где и как я должен искать, как это сделать?

Ответы [ 6 ]

427 голосов
/ 12 июня 2009

Прежде чем писать какой-либо код, давайте обсудим разницу между атрибутами и свойствами. Атрибуты - это настройки, которые вы применяете к элементам HTML-разметки ; Затем браузер анализирует разметку и создает объекты DOM различных типов, которые содержат свойства , инициализированные со значениями атрибутов. На объектах DOM, таких как простой HTMLElement, вы почти всегда хотите работать с его свойствами , а не с его атрибутами коллекцией.

В настоящее время рекомендуется избегать работы с атрибутами, если они не являются пользовательскими или нет эквивалентного свойства, дополняющего его. Поскольку title действительно существует как свойство для чтения / записи на многих HTMLElement s, мы должны воспользоваться этим.

Вы можете узнать больше о разнице между атрибутами и свойствами здесь или здесь .

Имея это в виду, давайте манипулировать этим title ...

Получить или установить свойство title элемента без jQuery

Поскольку title является публичным свойством, вы можете установить его для любого элемента DOM, который поддерживает его с простым JavaScript:

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

Поиск практически идентичен; здесь ничего особенного:

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

Это будет самый быстрый способ изменить заголовок, если вы - гайка оптимизации, но так как вы хотели задействовать jQuery:

Получить или установить свойство title элемента с помощью jQuery (v1.6 +)

jQuery представил новый метод в v1.6 для получения и установки свойств. Чтобы установить свойство title для элемента, используйте:

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

Если вы хотите получить заголовок, пропустите второй параметр и сохраните возвращаемое значение:

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

Ознакомьтесь с prop() документацией API для jQuery.

Если вы действительно не хотите использовать свойства, или вы используете версию jQuery до v1.6, то вам следует прочитать:

Получить или установить атрибут title элемента с помощью jQuery (версии <1.6) </h2> Вы можете изменить атрибут title с помощью следующего кода: $('#yourElementId').attr('title', 'your new title'); Или получить его с помощью: var elementTitle = $('#yourElementId').attr('title'); Ознакомьтесь с attr() документацией API для jQuery.

30 голосов
/ 19 июля 2013

В модальных диалоговых окнах jquery ui вам нужно использовать эту конструкцию:

$( "#my_dialog" ).dialog( "option", "title", "my new title" );
16 голосов
/ 12 июня 2009

Я верю

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

или

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

должен сделать трюк ...

Я думаю, вы можете найти все основные функции в jQuery Docs , хотя я ненавижу форматирование.

7 голосов
/ 12 июня 2009

Другой вариант, если вы предпочитаете, это получить элемент DOM из объекта jQuery и использовать для него стандартные методы доступа DOM:

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

«Способ jQuery», как упоминалось другими, заключается в использовании метода attr (). См. Документацию API для attr () здесь .

2 голосов
/ 18 ноября 2015

Если вы создаете div и пытаетесь добавить title к нему.

Попробуйте

var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');
2 голосов
/ 16 апреля 2015
jqueryTitle({
    title: 'New Title'
});

для первого названия:

jqueryTitle('destroy');

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...