У меня есть элемент ввода формы и вы хотите изменить его атрибут title. Это должно быть легко, как пирог, но по какой-то причине я не могу найти, как это сделать. Как это делается, и где и как я должен искать, как это сделать?
Как изменить атрибут title элемента с помощью jQuery
Ответ 1
Прежде чем писать какой-либо код, давайте обсудим разницу между атрибутами и свойствами. Атрибуты - это параметры, которые вы применяете к элементам разметки 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 до версии 1.6, вы должны прочитать:
Получить или установить атрибут title
элемента с помощью jQuery (версии < 1.6)
Вы можете изменить атрибут title
следующим кодом:
$('#yourElementId').attr('title', 'your new title');
Или получить его с помощью:
var elementTitle = $('#yourElementId').attr('title');
Ознакомьтесь с attr()
документацией по API для jQuery.
Ответ 2
В модальных диалоговых окнах jquery ui вам нужно использовать эту конструкцию:
$( "#my_dialog" ).dialog( "option", "title", "my new title" );
Ответ 3
Я верю
$("#myElement").attr("title", "new title value")
или же
$("#myElement").prop("title", "new title value")
должен сделать трюк...
Я думаю, что вы можете найти все основные функции в JQuery Docs, хотя я ненавижу форматирование.
Ответ 4
Другой вариант, если вы предпочитаете, - получить элемент DOM из объекта jQuery и использовать на нем стандартные DOM-аксессоры:
$("#myElement")[0].title = "new title value";
"Способ jQuery", как упоминалось другими, заключается в использовании метода attr(). См. Документацию API для attr() здесь.
Ответ 5
jqueryTitle({
title: 'New Title'
});
для первого заголовка:
jqueryTitle('destroy');
Ответ 6
Если вы создаете div
и пытаетесь добавить title
к нему.
Пытаться
var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');