抱歉,我遇到了电脑问题,不得不重新启动。
首先,如果您有权访问页面本身,请去掉这一行:
<script type="text/javascript" src="jquery-1.3.1.js"></script>
并将其替换为:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
那个版本的 jQuery 是在 2009 年 1 月发布的。那很古老,是时候摆脱它了。我在下面使用的$.fadeToggle()
方法是在 1.4.4 中引入的。
您应该能够弄清楚我在下面做了什么。如果您有任何问题,请告诉我。这不是拖放。下面的小提琴演示中还有更多的 CSS,但我只包含了与演示相关的部分。
$(function load(){
var $my = $('#my'),
$comment = $my.find('.comment'),
$siblings = $my.find('.siblings');
$my.click(function toggle(){
$comment.text($siblings.not(':hidden').text());
$siblings.toggleClass('green').fadeToggle();
});
});
http://jsfiddle.net/userdude/ULDKg/
这是它使用的 CSS 和标记:
.siblings.hidden {
display: none;
}
.siblings.green {
background: green;
}
<div id="my">
<div class="comment">Click for the comment...</div>
<div class="siblings green">I don't know...</div>
<div class="siblings hidden">What is it?</div>
</div>
我已经在 Firefox、Chrome 和 IE 7-9 中进行了测试,并且运行良好。但您至少需要 v1.4.4 或更高版本。
另请注意,这使用$(document).ready()
. 这意味着它一直等到页面被解析并且 DOM 准备好被访问(完整地)。您可以改用$(window).load()
它,它会起作用,但是您在此处看到的内容模仿了已经完成的内容(没关系)。请记住,您需要它至少等到页面被解析,或者没有任何包装器方法的代码需要遵循它正在访问的元素。