【发布时间】:2010-11-02 13:04:00
【问题描述】:
我有一个表单输入元素并想更改其标题属性。这必须像馅饼一样容易,但由于某种原因,我找不到如何做到这一点。这是如何完成的,我应该在哪里以及如何搜索如何做到这一点?
【问题讨论】:
标签: jquery forms attributes
我有一个表单输入元素并想更改其标题属性。这必须像馅饼一样容易,但由于某种原因,我找不到如何做到这一点。这是如何完成的,我应该在哪里以及如何搜索如何做到这一点?
【问题讨论】:
标签: jquery forms attributes
作为@Cᴏʀʏ 答案的补充,请确保尚未在 HTML 元素中手动设置工具提示的标题。在我的例子中,工具提示的 span 类已经有一个固定的标题文本,因此我的 JQuery 函数 $('[data-toggle="tooltip"]').prop('title', 'your new title'); 不起作用。
当我删除 HTML span 类中的 title 属性时,jQuery 正在工作。
所以:
<span class="showTooltip" data-target="#showTooltip" data-id="showTooltip">
<span id="MyTooltip" class="fas fa-info-circle" data-toggle="tooltip" data-placement="top" title="this is my pre-set title text"></span>
</span>
应该编码:
<span class="showTooltip" data-target="#showTooltip" data-id="showTooltip">
<span id="MyTooltip" class="fas fa-info-circle" data-toggle="tooltip" data-placement="top"></span>
</span>
【讨论】:
在 jquery ui 模态对话框中你需要使用这个结构:
$( "#my_dialog" ).dialog( "option", "title", "my new title" );
【讨论】:
如果您正在创建 div 并尝试向其中添加 title。
试试
var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');
【讨论】:
我相信
$("#myElement").attr("title", "new title value")
或
$("#myElement").prop("title", "new title value")
应该做的伎俩...
我认为您可以在jQuery Docs 中找到所有核心功能,尽管我讨厌这种格式。
【讨论】:
jqueryTitle({
title: 'New Title'
});
第一个标题:
jqueryTitle('destroy');
【讨论】:
在我们编写任何代码之前,让我们讨论一下属性和属性之间的区别。属性是您应用于 HTML 标记 中元素的设置;然后浏览器解析标记并创建各种类型的 DOM 对象,其中包含用属性值初始化的 properties。在 DOM 对象上,例如一个简单的 HTMLElement,您几乎总是希望使用它的 properties,而不是它的 attributes 集合。
当前的最佳做法是避免使用属性,除非它们是自定义的或没有等效的属性来补充它。由于title 确实在许多HTMLElements 上作为读/写属性 存在,我们应该利用它。
您可以阅读更多关于属性和属性here 或here 之间的区别。
考虑到这一点,让我们操纵title...
title 属性无需 jQuery由于title 是公共属性,您可以使用纯 JavaScript 将其设置在任何支持它的 DOM 元素上:
document.getElementById('yourElementId').title = 'your new title';
检索几乎相同;这里没什么特别的:
var elementTitle = document.getElementById('yourElementId').title;
如果您是优化狂,这将是更改标题的最快方法,但既然您希望 jQuery 参与其中:
title 属性
jQuery 在 v1.6 中引入了一种新方法来获取和设置属性。要在元素上设置 title 属性,请使用:
$('#yourElementId').prop('title', 'your new title');
如果您想检索标题,请省略第二个参数并捕获返回值:
var elementTitle = $('#yourElementId').prop('title');
查看 jQuery 的 prop() API documentation。
如果您真的不想使用属性,或者您使用的是 v1.6 之前的 jQuery 版本,那么您应该继续阅读:
title属性(版本
您可以使用以下代码更改title 属性:
$('#yourElementId').attr('title', 'your new title');
或者通过以下方式检索它:
var elementTitle = $('#yourElementId').attr('title');
查看 jQuery 的 attr() API documentation。
【讨论】:
如果您愿意,另一种选择是从 jQuery 对象中获取 DOM 元素并在其上使用标准 DOM 访问器:
$("#myElement")[0].title = "new title value";
其他人提到的“jQuery方式”是使用attr()方法。请参阅 attr() here 的 API 文档。
【讨论】: