在我的网页中具有以下配置
<div class="results_list">
<div class="bg_color shadowy item_wrapper">
<div class="not_shown">some text here...</div>
<div class="social_and_download">
<div class="play_div">
<a class="play" href="#">play</a>
</div>
</div>
</div>
<div class="bg_color shadowy item_wrapper">
<div class="not_shown">other text text here...</div>
<div class="social_and_download">
<div class="play_div">
<a class="play" href="#">play</a>
</div>
</div>
</div>
</div>由于有许多div.item_wrapper元素,每个元素都有一个div.not_shown子元素,我希望在单击相应的a.play链接时更改其类,从而使其可见。我想出的最好办法是:
<script type="text/javascript">
$(document).ready(function() {
$("a.play").click(function () {
$(this).closest("div.item_wrapper").find("div.not_shown").addClass('shown').removeClass('not_shown');
});
}); 而且不起作用。你能告诉我我做错了什么吗?
发布于 2013-09-25 07:39:51
最初的问题解决了-从一开始就起作用了.愚蠢的我在将jquery-1.9.1.min.js文件插入页面之前将javascript代码放置在..。无论如何,我考虑了您的建议,下面是代码的样子:
<script type="text/javascript">
$(document).ready(function() {
$('.item_wrapper').on('click', 'a.play', function () {
$(this).closest("div.item_wrapper").find("div.not_shown").removeClass('not_shown').addClass('shown');
$(this).closest("div.item_wrapper").focus();
});
});
实际上,是item_wrapper div在results_list div下动态生成的--我更正了在我的问题中(对于jQuery脚本,它无论如何都没有什么区别)。
再次感谢
现在我很难把注意力集中在点击播放的item_wrapper上,因为一旦我这样做了,我就会找到第一个--如果你也有什么想法的话,请留言。以下这句话没有带来任何好处:
$(this).closest("div.item_wrapper").focus();发布于 2013-09-25 01:56:47
可以先尝试.removeClass然后.addClass帮助吗?
https://stackoverflow.com/questions/18990933
复制相似问题