ユーザーがCMSでページコンポーネントを簡単に並べ替えるために、2つの構造(1つはネストされ、1つはネストされていない構造)を切り替える必要があるHTMLがあります。私はちょうど - ここjQueryを使用してHTMLを再構成する
は、私は、何の問題を、余分なdiv要素を取り除くことはできませんが、その後、それらをバック入れ
<p><a href="#" id="restructure">Toggle Structure</a></p>
<div id="modules">
<div class="column_left">
<p>Some text</p>
</div>
<div class="column_right">
<p>Some text</p>
</div>
<div class="column_left">
<p>Some text</p>
</div>
<div class="column_right">
<p>Some text</p>
</div>
</div>
... htmlの前に...
<p><a href="#" id="restructure">Toggle Structure</a></p>
<div id="modules">
<div class="two_column_box">
<div class="column_left">
<p>Some text</p>
</div>
<div class="column_right">
<p>Some text</p>
</div>
</div>
<div class="two_column_box">
<div class="column_left">
<p>Some text</p>
</div>
<div class="column_right">
<p>Some text</p>
</div>
</div>
</div>
とhtmlの後ですプレーンテキストや既存のDOM要素からhtmlを構築する方法を知りません。ここで私が持っているコード今のところ...
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$('#restructure').toggle(
function() {
alert('removing structure');
var module_list = $("#modules > div > div");
$("#modules").html(module_list);
},
function() {
alert('replacing structure');
var idx = 1;
var next;
var structure = $("");
while((next = $('#modules > div:nth-child(' + idx++ + ')')).length) {
var element = next.clone();
if(idx%2==1) {
$(structure).append('<div class="two_column_box">').append(element);
} else {
$(structure).append(element).append('</div>');
}
}
$("#modules").html(structure);
}
);
});
</script>
仕事(または作業コードのより慣用のバージョンで)するトグルの第2の機能を得ることに任意の助けいただければ幸いですが...
です
私はあなたのコードがいかに簡潔であるか本当に好きです。 jQueryの要素リストをhtmlメソッドに渡すことができるかどうかはわかりませんでした。あなたのコードの作業デモ: http://jsbin.com/apake – SolutionYogi
gradbot - jQueryありがとう! – Dycey