我有一个带有事件管理器插件的wordpress页面。去年,我们为我们的攀岩营地和课程推出了预订选项表。 现在我们认为,如果成员能够看到与会者的名单,那么难民营会更加有趣。它可以使用#_ATTENDEES进行设置,该#_ATTENDEES显示与会者的使用者。我想用老方法显示参加者的名字,用鼠标抓住技巧。我在我的活动页面的源代码中看到,在显示的头像的代码中,有一个'alt'标签,其中包含正确的成员名称。但如果我将鼠标移到图片上,它就不会显示。如果我使用chrome或其他浏览器,则无所谓。 解决方案是: 我认为'img src'行中的'alt'标签会自动生成,因为我没有在attendees.php中找到它。如果可以将'alt'标记更改为'title',则会显示。 我该如何解决这个问题?
在EM的支持下,我得到了这个网站的答案:Use 'alt' value to dynamically set 'title' 但我不是jquery解决方案的专家,但在我阅读它时,有一种解决方案可以将image-alt标记的属性转换为a-title标记的属性。 但我没有标题标签! 我的代码如下:
<img src="http://webaddress/wp-content/uploads/2016/03/useravatar-80x80.jpg" width="50" height="50" alt="Long John" class="avatar avatar-50 wp-user-avatar wp-user-avatar-50 alignnone photo">
我需要将alt =“Long John”更改为title =“Long John”。我怎么能这样做?
答案 0 :(得分:2)
您可以使用带有CSS的jQuery&n; img
函数找到alt
但不具有title
的所有$()
个元素选择器img[alt]:not([title])
。然后使用jQuery的attr
函数从title
为其分配alt
属性。您可能想要使用jQuery&#34;准备好&#34;在页面加载时执行此功能,因为Wordpress使脚本放在正确的位置有问题我告诉:
$(function() {
$("img[alt]:not([title])").attr("title", function() {
return this.alt;
});
});
如果您还没有使用jQuery,则不需要为此添加它。如果没有它可以在所有模糊的现代浏览器中使用,那么它就近似等同于上面的那些:
document.addEventListener("DOMContentLoaded", function() {
Array.prototype.forEach.call(document.querySelector("img[alt]:not([title])", function(img) {
img.title = img.alt;
});
}, false);
更多:
:not
pseudo-class $(function)
- &#34;准备就绪&#34;特征$(selector)
attr
(with a function callback) HTMLImageElement
's alt
property DOMContentLoaded
addEventListener
querySelectorAll
Array.prototype.forEach
如果您需要支持没有addEventListener
的过时浏览器,this answer会为您提供跨浏览器选项。所述浏览器还需要forEach
的填充,这在上面的链接页面中有描述。