gpt4 book ai didi

javascript - 根据 Prototype 中的类操作 anchor 的 href

转载 作者:行者123 更新时间:2023-12-02 20:33:19 25 4
gpt4 key购买 nike

我试图在文档加载后操作一些 anchor ,以使用 Prototype 更改它们的 href 属性。根据 anchor 的类,必须重写其 href 才能供跟踪软件使用。

我将一些东西组合在一起,但不太明白为什么它不起作用。无论我搜索什么,它总是返回未定义。

<script type="text/javascript">
var elements = $$(".replace");
for (el in elements) {
el.href = "other_href.html";
}
</script>
<a href="this_href.html" class="replace">Link</a>

当我在循环中 alert(el) 时,它返回未定义的或(当我搜索 a.replace 时返回大量元素,这些元素甚至不存在)存在于我的页面上。

我的思维错误在哪里?

最佳答案

未经测试:

<script type="text/javascript">
document.observe('dom:loaded', function() {
$$(".replace").each(function(a) {
a.writeAttribute('href', 'other_href.html');
});
});
</script>
<a href="this_href.html" class="replace">Link</a>

我猜你的 JavaScript 是在浏览器加载它应该操作的 HTML 之前加载并执行的。它无法操纵尚不存在的东西。这就是观察事件派上用场的地方。在本例中,我们等待 DOM 完成加载,但在浏览器渲染页面之前进行更改。

我还利用了 Prototype 的 each()功能。这是循环数组和任何可枚举值的好方法。和writeAttribute()是修改元素属性的一种很好的跨浏览器方式。

关于javascript - 根据 Prototype 中的类操作 anchor 的 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com