如何在 Scriptaculous JavaScript 中选择 CSS 类?
这是我的代码片段:
<div class="myclass" id="demo" style="display:none;">Hello.</div>
<a href="#" onclick="$('.myclass').fade({ duration: 0.3, from: 1, to: 0 }); $('demo').appear({ delay: 0.35 }); return false;">Click ME!</a><br />
我的 Firebug 开发插件说:
$(".myclass") 为空
我尝试了各种其他名称,例如: $('div.myclass')
和 $('myclass')
,徒劳无功。 如何让这种效果在课堂上发挥作用? 谢谢!
Here's a snippet of my code:
<div class="myclass" id="demo" style="display:none;">Hello.</div>
<a href="#" onclick="$('.myclass').fade({ duration: 0.3, from: 1, to: 0 }); $('demo').appear({ delay: 0.35 }); return false;">Click ME!</a><br />
My Firebug development plugin says:
$(".myclass") is null
I have tried various other names, such as: $('div.myclass')
and $('myclass')
, to no avail. How do I get this effect to work on a class? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
原型(和 mootools)中的 $$ 接受任何类型的 css 选择器,例如 $
$('div#joe')
或 $$('a[rel=awesome]')
并返回一个数组。$ 将仅返回具有匹配 id 的元素,如 $('joe');
因此,给定这个 html:
$$('.awesome')
将返回一个包含 DIV$('joe')
和$$('#joe ')
实际上是相同的(尽管后者是一个数组)。编辑
首先删除 onclick 事件并向 rel 属性添加一些信息,如下所示:
然后将其放在文档的
head
脚本标记中。我希望剧本很容易理解。
$$ in prototype (and mootools) accepts any sort of css selector like $
$('div#joe')
or $$('a[rel=awesome]')
and returns an array.$ will return just an element with a matching id like $('joe');
So given this html:
$$('.awesome')
will return an array containing both DIVs$('joe')
and$$('#joe')
are effectually the same (though the latter is an array).EDIT
First remove your onclick events and add some information to the rel attribute like so:
Then put this in the
head
of your document in a script tag.I hope the script is easy to follow.
值得称赞的是 rpflo,使用侵入性的 javascript 并不理想。 但是,如果您正在寻找要插入的最简单的代码,您始终可以使用 Prototype 提供的调用方法。
invoke 方法对 DOM 元素集执行相同的功能,并且避免使用 .each() 方法。
To credit rpflo it is not ideal to use obtrusive javascript. However if you are looking for the simplest code to insert you can always use the invoke method which is provided by Prototype.
The invoke method performs the same function on set of DOM elements and avoids having to use the .each() method.