Как изменить атрибут заголовка элемента с помощью jQuery
У меня есть элемент ввода формы и я хочу изменить его атрибут заголовка. Это должно быть легко, как пирог, но по какой-то причине я не могу найти как это сделать. Как это делается, и где и как я должен искать, как это сделать?
6 ответов
прежде чем писать код, давайте обсудим разницу между атрибутами и свойствами. Атрибуты настройки применяются к элементам 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 (версии
вы можете изменить 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 ()здесь.
Если вы создаете div
и пытается добавить title
к нему.
попробовать
var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');