关于表单:如何使用jQuery更改元素的title属性

How to change an element's title attribute using jQuery

我有一个表单输入元素,想要更改它的标题属性。这必须像馅饼一样容易,但出于某种原因,我找不到怎么做。这是如何做到的,我应该在哪里以及如何搜索如何做到这一点?


在编写任何代码之前,我们先讨论一下属性和属性之间的区别。属性是应用于HTML标记中元素的设置;然后浏览器解析标记并创建各种类型的DOM对象,这些对象包含用属性值初始化的属性。在DOM对象上,例如简单的HTMLElement,您几乎总是希望使用它的属性,而不是它的属性集合。

当前的最佳实践是避免使用属性,除非它们是自定义的或者没有等效的属性来补充属性。由于title确实作为读/写属性存在于许多HTMLElement上,我们应该利用它。

您可以在此处或此处阅读更多有关属性和属性之间的差异的信息。

有鉴于此,让我们操纵title

不使用jquery获取或设置元素的title属性

由于title是公共属性,您可以在任何支持它的dom元素上设置纯javascript:

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

检索几乎是相同的;这里没有什么特别的:

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

如果您是一个优化螺母,这将是更改标题的最快方法,但由于您希望jquery参与其中:

用jquery(v1.6+)获取或设置元素的title属性

jquery在v1.6中引入了一种新的方法来获取和设置属性。要在元素上设置title属性,请使用:

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

如果要检索标题,请省略第二个参数并捕获返回值:

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

查看jquery的prop()API文档。

如果您真的不想使用属性,或者您使用的是1.6版之前的jquery版本,那么您应该继续阅读:

用jquery获取或设置元素的title属性(版本<1.6)

您可以使用以下代码更改title属性:

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

或者用以下方法检索:

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

查看jquery的attr()API文档。


在jquery UI模式对话框中,需要使用此构造:

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


我相信

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

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

应该做这个把戏…

我认为您可以在jquery文档中找到所有核心函数,尽管我讨厌这种格式。


如果愿意,另一个选项是从jquery对象中获取dom元素并对其使用标准的dom访问器:

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

其他人提到的"jquery方法"是使用attr()方法。请参阅此处的attr()的API文档。


如果您正在创建一个div,并尝试向其中添加一个title

尝试

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

1
2
3
jqueryTitle({
    title: 'New Title'
});

对于第一个标题:

1
jqueryTitle('destroy');

https://github.com/ertaserdi/jquery-title