2013-02-01 64 views
-3


也許你可以幫助我。 我想自動創建jquerymobile崩潰http://jquerymobile.com/test/docs/content/content-collapsible.html)使用JavaScript的內容,就像這樣:自動摺合html內容

<h3>title 1</h3> 
some text 

<h3>title 2</h3> 
some text 

<h3>title 3</h3> 
some text 

此內容來自JSON,我不能前操縱。
我必須包裝每個:

<h3>title</h3> 
some text 

與此:

<div data-role="collapsible" data-collapsed="true"></div> 

但它不工作...幫助!

+1

你說你不能這樣做,你試過了嗎?聽起來像你一樣。要麼粘貼一些代碼,要麼共享一個jsfiddle! – sircapsalot

+0

「也許你不能幫助我」:'( – Toping

+0

糾正「can」;) – MatthieuH

回答

1

看看這個頁面的源代碼,我可以注意到,jQuery是基於點擊事件dinamically添加和刪除類。將你的內容包裝成div和jQuery,然後添加和刪除類。像

<h3 id="collpase-bar" class="collapsed">Collapse Title</h3> 
<div class="collapsible-content hidden">Content</div> 

使用jQuery功能的東西來處理崩潰標題單擊事件,並切換到這個

<h3 id="collapse-bar" class="not-collapsed">Collapse Title</h3> 
<div class="collapsible-content shown">Content</div> 

這是一個簡單的解釋,我要做一個小提琴舉例說;)

+0

真正的問題是用jquery將這些內容包裝在不同的部分。 – MatthieuH

+0

完成! http://jsfiddle.net/DDxZ6/ 你可以添加一些很酷的jQuery的東西,如fadeIn/fadeOut,slideIn/slideOut ...要使用它的內容很多,你實際上可以使用類來改變按鈕的風格和識別通過id或值顯示的內容 –

1

的Html

<h3 class="collapse" data-target="content1">Head 1</h3> 
<div class="hidden" id="content1"></div> 

<h3 class="collapse">Head 2</h3> 
<div class="hidden" id="content2"></div> 

<h3 class="collapse">Head 3</h3> 
<div class="hidden" id="content3"></div> 

的JavaScript

$(".collapse").each(function(){ 
    var el = $(this); 
    el.click(function(){ 
     var id = el.attr("data-target"); 
     // files same names with id's 
     $("#"+ id).load("ajax/"+ id +".html"); 
     // or 
     $("#"+ id).load("ajax.php", function(responseText){ 
      $("#"+ id).html(responseText); 
     }); 
    }); 
}); 
+0

謝謝,但就像我說我不能直接修改HTML它是一個外部JSON源!我必須改變它與JavaScript不可能有任何其他類或分區。 – MatthieuH

+0

爲什麼要使用ajax?爲什麼不根據需要將屬性設置爲隱藏或不隱藏? –