javascript - 更改工具提示动态生成的 html 元素的标题属性

标签 javascript html tooltip

我有一个动态生成的 HTML 元素,其中包含一个标题属性,该属性在悬停时出现在工具提示中,例如:

<div title="tooltip text" class="classname" id="identifier"></div>

我想使用设置为作为 HTML 渲染的一部分运行的 JavaScript 代码来更改标题属性的内容。目前,我的代码如下:

var changeTooltip = function(){
     var TooltipElement = document.getElementsByClassName("classname");
     if (TooltipElement.title = "tooltip text"){
         TooltipElement.title = "new message";
     };
};

window.onload = changeTooltip();

页面完全呈现后,此代码会将原始字符串保留在 div 的 title 属性中。谁能解释为什么,并可能显示正确的方法?注意,我必须使用JS,不能使用JQuery。

最佳答案

getElementsByClassName()(注意复数Elements)返回元素的列表。循环遍历:

var changeTooltip = function(){
  var TooltipElements = document.getElementsByClassName("classname");
  
  for ( var i = 0; i < TooltipElements.length; ++i )
  {
    var TooltipElement = TooltipElements[i];
      
    if (TooltipElement.title == "tooltip text")
      TooltipElement.title = "new message";
  };
};

changeTooltip();
.classname:after {
  content: attr(title);
  font-style: italic;
}
<div title="tooltip text" class="classname" id="identifier">Title: </div>
<div title="other text" class="classname" id="identifier2">Title: </div>

最后,您需要更改:

window.onload = changeTooltip();

window.onload = changeTooltip;

以便该函数在所有内容加载完成之前不会运行。

关于javascript - 更改工具提示动态生成的 html 元素的标题属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32236592/

相关文章:

javascript - 从 onSubmit 回调生成的输入发送值

javascript - 表单提交取消,Javascript 不起作用

javascript - 简单问题 : Do I need to specify width, "image"预加载图片时的高度?

javascript - 在 Prototype/Scriptaculous 上带有 AJAX 拉取内容的可悬停工具提示(表现得像 Twitter 的)`

tooltip - nv.d3同时触发页面多图的工具提示

Java SWT : show paintings in tooltip

javascript - 文本框聚焦

javascript - 根据响应图像更改蒙版高度

Javascript innerHTML 超出范围问题?

javascript - 将重力加速度转换为纯加速度?