我有一个表单输入元素并想更改其标题属性。这必须像馅饼一样容易,但由于某种原因,我找不到如何做到这一点。这是如何完成的,我应该在哪里以及如何搜索如何做到这一点?
在我们编写任何代码之前,让我们讨论一下属性和属性之间的区别。属性是应用于 HTML 标记 中元素的设置;然后浏览器解析标记并创建各种类型的 DOM 对象,这些对象包含使用 属性 值初始化的属性。在 DOM 对象上,例如 simple HTMLElement,您几乎总是希望使用它的 属性 ,而不是它的 属性 集合。
HTMLElement
当前的最佳实践是避免使用属性,除非它们是自定义的或者没有等效的属性来补充它。由于title确实作为许多 s 上的读/写 属性HTMLElement存在,我们应该利用它。
title
考虑到这一点,让我们操纵title…
由于title它是一个公共属性,因此您可以使用纯 JavaScript 将其设置在任何支持它的 DOM 元素上:
document.getElementById('yourElementId').title = 'your new title';
检索几乎相同;这里没什么特别的:
var elementTitle = document.getElementById('yourElementId').title;
如果您是一个优化狂,这将是更改标题的最快方法,但既然您希望 jQuery 参与其中:
jQuery 在 v1.6 中引入了一种新方法来获取和设置属性。要设置title元素的属性,请使用:
$('#yourElementId').prop('title', 'your new title');
如果您想检索标题,请省略第二个参数并捕获返回值:
var elementTitle = $('#yourElementId').prop('title');
查看 jQuery 的prop()API 文档。
prop()
如果您 真的 不想使用属性,或者您使用的是 v1.6 之前的 jQuery 版本,那么您应该继续阅读:
您可以使用以下代码更改title 属性:
$('#yourElementId').attr('title', 'your new title');
或使用以下命令检索它:
var elementTitle = $('#yourElementId').attr('title');
查看 jQuery 的attr()API 文档。
attr()