如何使用 jQuery 多次更改图像的 alt 属性?
这个问题完成了我在这里问的第一个问题 关于如何使用 jQuery 在单击时更改图像。
我忘了说(即使我后来编辑了我的帖子),我正在寻找一种方法,以便每次通过单击更改图像时都具有不同的 alt 属性。
(这是为了更好的可访问性和 SEO 优化。)
以下是实际的 html 代码,感谢 altCognito:
<img id="radio_btn1" src="originalimage1.jpg" />
<br />
<input type="radio" name="radio_btn1" value='image1.jpg' />
<input type="radio" name="radio_btn1" value='image2.gif' />
<input type="radio" name="radio_btn1" value='image3.png' />
<input type="radio" name="radio_btn1" value='image4.jpeg' />
和 jquery:
imgFldr = 'images/nameofthesubfolder/';
$("input[type='radio']").click(function() {
$('#'+this.name).attr('src', imgFldr+this.value).attr('alt', 'newattribute');
});
它可以在 jsbin。
This question completes the first one that I asked here about how to change an image on click using jQuery.
I forgot to say (even if I edited my post later) that I'm looking for a way to have a different alt attribute each time an image is changed by click.
(This is for better accessibility and SEO optimization.)
Here is the actual html code thanks to altCognito:
<img id="radio_btn1" src="originalimage1.jpg" />
<br />
<input type="radio" name="radio_btn1" value='image1.jpg' />
<input type="radio" name="radio_btn1" value='image2.gif' />
<input type="radio" name="radio_btn1" value='image3.png' />
<input type="radio" name="radio_btn1" value='image4.jpeg' />
And the jquery:
imgFldr = 'images/nameofthesubfolder/';
$("input[type='radio']").click(function() {
$('#'+this.name).attr('src', imgFldr+this.value).attr('alt', 'newattribute');
});
It can be edited at jsbin.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
嗯... SEO 和 Javascript 操纵的内容一开始就不应该出现在同一篇文章中。 无论您做什么,如果您使用 Javascript 来显示您的内容,您都会损害您的搜索引擎可见性。
也就是说,您可以将这些图像放在哈希数组中(imagename->alt)并从那里获取 alt,或者您可以将 alt 放入带有像 | 这样的分隔符连接到文件名的单选值中。 然后在用于显示图像的函数中解析它们。
...简而言之:
+
...或:
+
Well... SEO and content manipulated by Javascript shouldn't be in the same post to begin with. Whatever you do, if you use Javascript to display your content, you're hurting your search engine visibility.
That said, you could either have those images in a hasharray (imagename->alt) and get the alt from there, or you could put the alt in the value of the radio concatenated to the filename with a separator like | and then parse them out in the function you use to display the image.
...so in short either:
+
...or:
+
为什么不将 alt 值放入输入的 rel 中,然后将其也放在图像上:
why not put the alt value in the rel of the input then place that on the image too:
我不会为此使用单选按钮中的
name
属性。 定义一个自定义属性:data-Img
或类似的东西。 这也将帮助您符合下一个 html 标准。你可能可以用一行来做这件事......但我真的不明白这一点。 首先使其可读。
I would not use the
name
attribute in the radio buttons for this. Define a custom attribute:data-Img
or something like that. That would also help you conform to the next html standard.You could probably do this in one line...but I don't see the point really. Make it readable first.
你可以尝试这样的事情:
You could try something like this:
只需复制粘贴到新页面...您有2 种方法来更改它。
just copy paste into a new page... you have 2 ways to change it.