2012-09-27 114 views
0

我有一個磚石問題。jQuery Masonry沒有類名的兒童選擇器

這裏是我需要砌體應用的地方。

<ul class="text"> 
    <li> 
     <ul> 
      <li> <!--Trying to apply masonry only here--> 
       <ul> 
        <li></li><!--Not here--> 
       </ul>  
      </li> 
      <li> <!--Trying to apply masonry only here--> 
       <ul> 
        <li></li> <!--Not here--> 
       </ul>  
      </li> 
     </ul> 
    </li> 
</ul> 

只在第二個ul的li標籤上應用砌體。如果我不爲每個li標籤添加一個類,那麼masonry將無法正常工作,因爲它也會將它添加到下一個ul> li中。如果我像這樣爲每個li添加一個類,我可以使它工作,但使用php做起來有點複雜。

<ul class="text"> 
     <li> 
      <ul> 
       <li class="class"> <!--Trying to apply masonry only here--> 
        <ul> 
         <li></li><!--Not here--> 
        </ul>  
       </li> 
       <li class="class"> <!--Trying to apply masonry only here--> 
        <ul> 
         <li></li> <!--Not here--> 
        </ul>  
       </li> 
      </ul> 
     </li> 
    </ul> 

使用此:

$("ul.text > li > ul").masonry({ 
       itemSelector : '.class' 
      }); 

但我不希望添加的類。我嘗試了一些類似的東西,但它一直在對所有li標籤應用砌體。

$("ul.text> li > ul").masonry({ 
     itemSelector : 'li' 
    }); 

有沒有一種方法可以不使用類?

感謝

+0

如果你有一個.masonry,磚混應用其佈局邏輯吧。如果你的元素嵌套在你的.masonry-brick中,他們也必然會將Masonry的佈局邏輯應用到他們身上。再次閱讀文檔,瞭解砌體如何工作並查看示例代碼。 – Systembolaget

回答

0

從文檔

過濾器項目元素選擇。如果未設置,則砌體默認使用容器的子元素爲 。

建議避免砌體使用其佈局邏輯中的任何其他隱藏元素。

所以我認爲你應該刪除itemSelector : 'li'據有關資料是正確的

+0

對不起,這不起作用。 – Kbr89

+0

在我的ansuer看到更新 –

+0

哦,這很奇怪,它的工作!我之前嘗試過,它沒有工作,但現在它確實。也許是因爲我編輯了CSS樣式。那麼謝謝 – Kbr89

0

嘗試

itemselector : 'ul.text> li > ul > li' 
+0

沒有。 Itemselector必須是一個元素,一個類,id或簡單的元素。 – Kbr89