我想知道是否有可能使用Javascript通过替代文本来查找图片标签。例如,我有这个标签:<img src="Myimage.jpg" alt="Myimage">
有没有办法通过查找“Myimage”alt属性来获取标签?使用替代文本查找图片标签
3
A
回答
7
毫无疑问,很快就会有一个jQuery解决方案。要做到这一点没有,下面的工作:
function getImagesByAlt(alt) {
var allImages = document.getElementsByTagName("img");
var images = [];
for (var i = 0, len = allImages.length; i < len; ++i) {
if (allImages[i].alt == alt) {
images.push(allImages[i]);
}
}
return images;
}
var myImage = getImagesByAlt("Myimage")[0];
7
你可以用JQuery做到这一点。下面的jQuery代码将返回任何图片设置为“MYIMAGE”的ALT标签:
$('img[alt="Myimage"]').
但是这将是一个极大的方便,有很多更好的性能使用图像标签的id属性。
0
如果NodeList实现了Iterable,这并不会那么困难。该实现将过滤器放入NodeList的原型中,该原型可能不符合每个人的喜好,但我更喜欢简洁地访问我的数据结构。
<html>
<head>
<script type="text/javascript">
// unfortunately NodeLists do not have many of the nice Iterate functions
// on them, here is an incomplete filter implementation
NodeList.prototype.filter = function(testFn) {
var array = [] ;
for (var cnt = 0 ; cnt < this.length ; cnt++) {
if (testFn(this[cnt])) array.push(this[cnt]) ;
}
return array ;
}
// loops through the img tags and finds returns true for elements that
// match the alt text
function findByAlt(altText) {
var imgs = document.getElementsByTagName('img').filter(function(x) {
return x.alt === altText ;
}) ;
return imgs ;
}
// start the whole thing
function load() {
var images = findByAlt('sometext') ;
images.forEach(function(x) {
alert(x.alt) ;
}) ;
}
</script>
</head>
<body onload="load()">
<img src="./img1.png" alt="sometext"/>
<img src="./img2.png" alt="sometext"/>
<img src="./img3.png" alt="someothertext"/>
</body>
</html>
1
var imgElement = document.querySelector(img[alt="MyImage"])
相关问题
- 1. Angular 2 - 使用芯片代替标签
- 2. 使用图标代替文本
- 3. 用jQuery替换img标签使用JavaScript替代幻灯片
- 4. RoR图片标签找不到图片
- 5. Java文本标签替换代码
- 6. 覆盖sc:图片替代文本
- 7. 查找并替换标签jquery中的文本
- 8. 为#标签解析文本并使用JavaScript代替链接
- 9. 我可以用CSS替换图片标签的图片吗?
- 10. 使用硒webdriver找到标签文本
- 11. 查找HTML标签之间的文本
- 12. 查找HTML文本和标签父
- 13. 用图标替换文本
- 14. 如何使用{代替打开标签和}代替结束标签?
- 15. 用注释中的文本标签替换图标引脚?
- 16. 使用re在多个标签中查找文本
- 17. 如何使用Watir在div.style标签中查找文本?
- 18. Jquery - 查找当前图像的替代文本
- 19. 用Jquery代替笑脸图片文字
- 20. WP7替代标签
- 21. 图片标签
- 22. 替换标签中的文本,使子标签保持完好
- 23. 查找和替换文本
- 24. 在文本块中查找和转换图像标签
- 25. 修改批量查找替换并使用标签
- 26. BeautifulSoup在标签内的代码片段中查找关键值
- 27. 在jQuery中查找标签中的标签并替换内容
- 28. h3标签文字/图片替换,这是否会伤害seo?
- 29. “代码”标签内更换图片
- 30. 使用javascript查找和替换迭代
你可以使用jQuery? – 2010-05-26 15:38:14
我看到您使用替代文本找到图片标签。你应该完全放弃并使用jQuery! – Josh 2010-05-26 15:45:42
更好的问题是,你使用任何JS库? (jquery,prototype,mootols,yui ..) – adamJLev 2010-05-26 16:05:18