javascript - 如何选择原型(prototype)中图像的所有链接

标签 javascript prototypejs css-selectors wildcard

我习惯了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/

相关文章:

google-maps - 谷歌地图 JavaScript 街景错误

ajax - 一些 IE9 在 Ajax 请求时变成兼容性 View

css - 由 ID 选择的链接中的文本颜色覆盖了不同 ID 的父链接颜色

javascript - Bootstrap Modal 在 Firefox 中不起作用

javascript - s3.getObject(...).createReadStream 不是函数

javascript - 在javascript中填写表单的通用方法

html - 为什么第 nth-of-type/nth-child 不适用于嵌套元素?

css - 选择器中的数字会出现在哪里?

javascript - 在 postgresql 数据库中存储 semver 版本字符串以进行范围查询

javascript - 两次移动元素后元素顺序困惑