Как изменить атрибут заголовка элемента с помощью jQuery

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

6 ответов


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

в настоящее время рекомендуется избегать работы с атрибутами, если они не являются пользовательскими или нет эквивалентного свойства для его дополнения. С title действительно существует, как читать/писать свойства много HTMLElementS, Мы должны воспользоваться этим.

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

С этим в виду, давайте манипулировать этим 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 (версии

вы можете изменить title атрибут следующий код:

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

или получить его с:

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

Проверьте attr() документация API для на jQuery.


в модальных диалогах jQuery ui вам нужно использовать эту конструкцию по какой-то причине:

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

Я считаю

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

или

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

следует сделать трюк...

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


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

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

"jQuery way", как упоминалось другими, должен использовать метод attr (). См. документацию по API для attr ()здесь.


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

за первый титул:

jqueryTitle('destroy');

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


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

попробовать

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