我习惯了jquery,但是这个项目需要使用Prototype框架。我有一个图像列表(jpg、png 和 gif),其中一些具有与 <a>
的链接。标签。我只需要为那些 <a>
添加 rel 属性直接链接到 jpg、gif 和 png 的标签。除了以 .jpg、.png 或 .gif 结尾之外,href 没有类似的样式。我可以将 rel 添加到具有特定 href 的单个链接,但我不知道如何选择所有此类链接。需要操作的链接示例:
<a href="images/01.jpg"><img src="images/01.jpg" width="500" /></a>
<br>
<a href="http://www.example.com/"><img src="images/02.jpg" width="500"></a>
<br>
<a href="images/03.png"><img src="images/03.png" width="500" /></a>
<br>
<img src="images/04.jpg" width="500">
<br>
以及期望的结果:
<a href="images/01.jpg" rel="whatever"><img src="images/01.jpg" width="500" /></a>
<br>
<a href="http://www.example.com/"><img src="images/02.jpg" width="500"></a>
<br>
<a href="images/03.png" rel="whatever"><img src="images/03.png" width="500" /></a>
<br>
<img src="images/04.jpg" width="500">
<br>
我想最终的代码应该是这样的:
<script type="text/javascript">
Event.observe(window, 'load', function() {
$$('a[href="*.jpg","*.png"]').each(function(link){
link.writeAttribute('rel','whatever');
});
});
</script>
但我无法让通配符 (*) 正常工作。如何在原型(prototype)中使用通配符?
最佳答案
Prototype 不支持这样使用通配符,但它允许使用 $=
attribute selector 匹配值的结尾.
$$('a[href$=.jpg], a[href$=.png], a[href$=.gif]').each(function(link){
关于javascript - 如何选择原型(prototype)中图像的所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4210458/