2014-12-30 50 views
4

這是我的.html代碼顯示上點擊特定的div這個HTML層次

<div class="col-2"> 
     <div class="col-content"> 
     <div class="lt"> 
      <div class="lt-img arch"></div> 
      </div> 
      <div class="rt">     
       <h3>Competitve Prices</h3> 
       <p>Arch Linux 2012.12 x64</p> 
       <a href="">Read more <div class="arrow"></div></a>     
      </div> 
        <div class="clearfix"></div> 
      <div class="wholebox"> 
        <ul> 
         <li>Arch Linux 2012.12 x64</li> 
         <li>Arch Linux 2012.08 x64</li> 
         <li>Arch Linux 2012.08 x86</li> 
        </ul> 
      </div> 
     </div> 
    </div> 

我這裏有.js文件代碼..

$(".rt a").click(function() { 
    $(".wholebox").slideToggle("slow"); 
    return false; 
    }); 

問題:當我點擊在鏈接它顯示所有div類wholebox。在.css文件我設置屬性爲display:none爲這wholebox class.How我可以顯示wholebox只爲特定鏈接與此層次結構HTML的代碼。

+0

一種方法是我給所有的div不同'id',我想在click.But顯示,如果我想要什麼顯示1000個div。? –

回答

2
$('.rt a').click(function() { 
    $(this).closest('.col-content').find('.wholebox').slideToggle('slow'); 
    return false; 
}); 
+0

進行更正。 $(本).closest( 'COL-內容 ')找到('。wholebox ')的slideToggle(' 慢')。 –

+0

哦,是的。謝謝我的工作:)謝謝你。 –

+0

對不起,我以爲.lt包裝.wholebox – kapantzak

1

嘗試某事像以下:

$(".rt a").click(function() { 
    //first look for <div class="col-content"> and find class .wholebox 
    $(this).parent().parent().find(".wholebox").slideToggle("slow"); 
    return false; 
    }); 
+1

這一個也工作。謝謝:) –

0

給出一些數據-ID您標籤和ID映射到你的 「wholebox」 類。

請參考下面的代碼。 只需要從<a href="" data-id="1">收集ID和映射它<div class="wholebox**1**">

<div class="col-2"> <div class="col-content"> <div class="lt"> <div class="lt-img arch"></div> </div> <div class="rt">
<h3>Competitve Prices</h3> <p>Arch Linux 2012.12 x64</p> <a href="" data-id="1">Read more <div class="arrow"></div></a>
</div> <div class="clearfix"></div> <div class="wholebox1"> <ul> <li>Arch Linux 2012.12 x64</li> <li>Arch Linux 2012.08 x64</li> <li>Arch Linux 2012.08 x86</li> </ul> </div> </div> </div>

$(".rt a").click(function() { 
    $(".wholebox"+($(this).attr("data-id"))).slideToggle("slow"); 
    return false; 
    }); 
+0

非常好謝謝你的幫助,但如果我有1000個div,我已經寫了。我會寫'attr'每個這就是爲什麼我已經提到了不同的'ID'很難做到這一點。@ kapantzak和@jyrkim回答讚賞。謝謝你:) –

+0

沒有必要手動做,你可以使用循環計數器,使它成爲可能。 –