2013-12-17 27 views
-2

我創建了一個簡單的切換顯示和隱藏。如何使用Jquery指定類

雖然在複製類時有問題。

我的開關可以工作,但當我複製容器並按下觸發器時,它將顯示所有容器,而不僅僅是一個容器。

我試圖調整我的代碼使用(this).find函數,但它不工作。有人可以告訴我我要去哪裏嗎?

<!--SHARE--> 
       <a href="#share-trigger" class="share-trigger"><i class="fa fa-share"></i>Share</a> 
       <div class="show-share-box"> 
        <div class="share-this-wrap"> 
        <a href="#" data-toggle="tooltip" class="share-popup share-btn" title="Share on Facebook"> 
         <i class="fa fa-facebook"></i> 
         <div class="meta-share-wrap"> 
         <span class="shot-social-count">4</span> 
         </div> 
        </a> 

        <a href="#" data-toggle="tooltip" class="share-popup share-btn" title="Share on Twitter"> 
         <i class="fa fa-twitter"></i> 
         <div class="meta-share-wrap"> 
         <span class="shot-social-count">6</span> 
         </div> 
        </a> 
        </div> 
       </div><!--end share box--> 

我的代碼有效。

$(".share-trigger").click(function(e){ 
     e.preventDefault(); 
     $(".show-share-box").slideToggle('slow'); 
    }) 

我的代碼不工作 - 在這裏,我試圖添加(此功能)

$(".share-trigger").click(function(e){ 
     e.preventDefault(); 
     $(this).find('.show-share-box').slideToggle('slow'); 
    }) 

多謝!

+5

我們需要看到您的html的樣本。 –

+0

向我們展示您呈現的HTML –

+2

'.share-trigger'元素的'.show-share-box'元素後裔? – Satpal

回答

0

應該是:

$(this).next('.show-share-box').slideToggle('slow');

0
$(this).find('.show-share-box').slideToggle('slow'); 

$(this) - >指的是.share-trigger在你的情況下,當前元素


$(this).find('.show-share-box')意味着找到 .show-share-box.share-trigger

你的代碼不能正常工作,因爲沒有元素.show-share-box.share-trigger


在OP更新問題後更新。

.next()

$(this).next('.show-share-box').slideToggle('slow'); 
+2

你的代碼和OP代碼之間的差異是什麼不工作.. –

+0

@ patel.milanb檢查答案再次。 –

+0

你怎麼知道'.show-share-box'不會在沒有看HTML的情況下退出...... –

1

下一步將選擇使用這樣在下一組應該做的伎倆首先.show股盒。

$(".share-trigger").click(function(e){ 
    e.preventDefault(); 
    //$(".show-share-box").slideToggle('slow'); 
    $(this).next(".show-share-box").first().slideToggle('slow'); 
}) 
1

問題是您選擇<a>元素作爲$(this)和發現裏面('.show-share-box')這是坐在外面的<a>

可以使用.next()或直接使用class切換

的jsfiddle:http://jsfiddle.net/FtgN4/2/

$(".share-trigger").click(function (e) { 
    e.preventDefault(); 
    $('.show-share-box').slideToggle("slow", function() { 
     // animation complete 
    }); 
}) 
相關問題