*よくお読みください - 私は最初にコーディング例を使用しています - 次に、より説明的になるように実際のコードを使用しています *
イメージ名に基づいて、降順で div を並べ替えたいと思います。
これから変更:
<div id="content">
<p><img src="image/1.jpg"/></p>
<p><img src="image/3.jpg"/></p>
<p><img src="image/4.jpg"/></p>
<p><img src="image/2.jpg"/></p>
</div>
これへ
<div id="content">
<p><img src="image/4.jpg"/></p>
<p><img src="image/3.jpg"/></p>
<p><img src="image/2.jpg"/></p>
<p><img src="image/1.jpg"/></p>
</div>
ただし、ここではこのコードを使用して、「コンテンツ」div 内に画像を入力しています。ユーザーは毎日画像をアップロードしているため、これらの画像パスは以下のコードを使用して別のディレクトリからプルされています。そのコンテンツ div は自己入力する必要があります。
<script>
$.ajax({
url: "user-uploads-thumbnails",
success: function(data){
$(data).find("a:contains(.jpg)").each(function(){
// will loop through
var images = 'user-uploads-thumbnails/' + $(this).attr("href");
var linkimage = 'user-uploads/' + $(this).attr("href");
//backup $('<p><a href="' + linkimage + '"><img src="' + images + '"></a></p>').appendTo('#content');
$('<p><a class="fancybox" href="' + linkimage + '" data-fancybox-group="gallery"><img src="' + images + '"></a></p>').appendTo('#content');
});
}
});
</script>
以下のスクリプトは、URL を "content" div にハード コードした場合にのみ機能します。ただし、画像は毎日他のディレクトリに追加される予定であり、自己入力する必要があります。上記のスクリプトを使用してパスを取得すると ^^ 機能しません。
<script>
function sort(container) {
var images = [],
paragraphs = container.getElementsByTagName('p');
while(!!paragraphs.length) {
var p = paragraphs[0];
images.push(p.getElementsByTagName('img')[0].getAttribute('src'));
container.removeChild(p);
}
images = images.sort();
console.log(images);
for(var i = images.length; i-- > 0;) {
var p = document.createElement('p'),
img = document.createElement('img');
img.src = images[i];
p.appendChild(img);
container.appendChild(p);
}
}
var container = document.getElementById('content');
sort(container);
</script>