Javascript 如何设置<;img>;同一页面中另一段HTML的alt标记
我有一个网站,它是在我对这项业务的了解比现在更少的时候建立的。该网站包含大约200页和数千张图片。显示它们的HTML通常如下所示:Javascript 如何设置<;img>;同一页面中另一段HTML的alt标记,javascript,jquery,Javascript,Jquery,我有一个网站,它是在我对这项业务的了解比现在更少的时候建立的。该网站包含大约200页和数千张图片。显示它们的HTML通常如下所示: <div class="pic"> <a onclick="loadImage('filename.jpg')" href="#4"><img src="filename.jpg" alt="missing img"></a> <div class="imgcapt"><i>Caption&
<div class="pic">
<a onclick="loadImage('filename.jpg')" href="#4"><img src="filename.jpg" alt="missing img"></a>
<div class="imgcapt"><i>Caption</i></div>
</div>
说明文字
这将在页面上放置一个图像,并在其下方添加标题。单击图像会在新窗口中打开图像的较大版本。大多数图片都有标题,但不是全部
我想做的是用imgcapt div的内容替换现有的alt文本(如果存在)。理想情况下,我希望在源文件中执行此操作,但如果不可能,则添加一些JavaScript,以便在页面加载时执行此操作。我看过类似问题的各种答案,但找不到任何匹配的答案。有人能为我指出这两种方法的正确方向吗?您可以尝试使用jQuery选择pic类的所有div 然后,对于每个匹配,获取imgcapt类中i的文本,并将属性alt设置为a
$( document ).ready(function() {
$('.pic').each(function(el) {
var imgCaption = $(this).find('i').text();
$(this).find('img').prop('alt', imgCaption);
})
});
这是jquery不需要的小提琴,
您可以检查您的document.querySelector('div.imgcapt').innerHTML
并使用element.setAttribute设置alt标记首先,不应使用内联HTML事件处理程序(
onclick=…
),因为它们创建意大利面代码,导致全局匿名函数代理修改此
绑定,并且不遵循DOM事件标准
其次,您根本不需要将图像包装在锚定标记中。只需将图像的单击事件连接到您的函数
因此,这就可以做到:
window.addEventListener(“加载”,函数(){
var imgs=document.querySelectorAll(“img”);
对于(变量i=0;i
说明文字