下記サイトを参考にさせていただき、div要素のランダムな並び替えはできました。
http://www.finefinefine.jp/jquery/kiji2068/
しかし、ul要素のliやtable要素のtdの並び替えをしようとしたところ、
並び替えはできるのですが、CSSファイルの設定が無視されてしまいます。
liやtdの並び替えの方法を教えてください。
よろしくお願い致します。

A 回答 (1件)

どのようなcss設定なのでしょうか??


並べ替える要素ごとに設定されているということですか?
参照URLのソースを見てみたところ、

(1) <li>や<td>に設定されているクラス
(2) first-child等の疑似クラス

上記2点は、反映されません。
(2)の場合は当然無理ですが、(1)の場合だったら、以下のスクリプトに書き変えてください。
ID、クラスごと入れ替えるように工夫してみました。

$(function () {
 var arr = [];
 $("#sample li").each(function () {
 arr.push($(this).detach());
 });
 arr.sort(function () {
  return Math.random() - Math.random();
 });
 $("#sample").empty();
 for (i = 0; i < arr.length; i++) {
  $("#sample").append(arr[i]);
 }
});
    • good
    • 1
この回答へのお礼

taigoito様
li,tdとも正常に並び替えることができました。
ありがとうございます。。

お礼日時:2017/05/17 23:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報