2014-03-19 36 views
0

我正在試驗Jquery插件。 (請注意,我是初學者),我做了一個非常簡單的插件。這工作如果我將選擇器設置爲('div'),但是當我嘗試使它選擇具有包含"object"的類的div時,它將失敗。我究竟做錯了什麼?我沒有收到任何錯誤。獲取類包含一個非常簡單的jquery插件

的javascript:

(function($) { 

    $.fn.Duplo = function() { 

     return this.filter("div[class*='object']").clone().appendTo('body'); 

    }; 

}(jQuery)); 


$(document).ready(function(){ 
    $(".negen").Duplo(); 
}); 

HTML:

<body> 
<div class="row"> 
    <div class="col-md-12 col-sm-12 twaalf"> 
    </div> 
</div> 
<div class="container"> 
    <div class="col-md-3 col-sm-3 drie"> 
    </div> 
    <div class="col-md-9 col-sm-9 negen"> 

    <div class="object"></div> 
    <div class="object2"></div> 
    <div class="object3"></div> 
    <div class="object4"></div> 
    </div> 
</div> 

</body> 

我的HTML包含四個的div與classes: object, object1, object2, object3.negen是div至​​極包含了所有的這些。

謝謝:)

+1

提供.negen'元素 –

+0

的'相關的H​​TML標記我會後我的HTML了。 – Juul

+2

我的第一個想法是你應該使用'.find()'而不是'.filter()' –

回答

0

如果您希望在篩選其中包含與包含object類的一些特定元素.negen元素,然後使用:

this.filter(":has(div[class*='object'])").clone().appendTo('body'); 

這可以寫成:

return this.has("div[class*='object']").clone().appendTo('body'); 

如果你想c孤獨的元素object,然後使用:

return this.find("div[class*='object']").clone().appendTo('body'); 
0

你必須改變你的選擇語句

「(」 DIV [*類= '對象'] 「)」 這一部分

檢查這個 http://api.jquery.com/category/selectors/

+0

我讀過那篇文章,但據我所知我正在使用適當的選擇器?我試圖讓所有包含「對象」的東西。 – Juul

+0

好的你需要從HTML中得到什麼,你的預期結果是什麼,我沒有得到你,我會相應地修改這個答案 –

0

試試這個。

return this.find(".object").clone().appendTo('body'); 

Fiddle Demo