用jQuery点击替换div类

时间:2013-09-24 19:59:45

标签: jquery css html dynamic

在我的网页中进行以下配置

<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');
     });        
});  

它不起作用。你能告诉我我做错了什么吗? 10x

2 个答案:

答案 0 :(得分:0)

首先尝试.removeClass,然后尝试.addClass帮助?

答案 1 :(得分:0)

那么, 最初的问题已经解决了 - 它确实从一开始就起作用了...... STUPID我在将 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脚本,它没有任何区别)< / p>

再次感谢

P.S。现在我正在努力将焦点放在我点击播放的item_wrapper上,因为一旦我这样做,它总是把我带到第一个 - 如果你有任何想法那么请发表评论。以下几行没有带来任何结果:

 $(this).closest("div.item_wrapper").focus();