
新着順になっているテーブルをjqueryで名前ごとにまとめることはできますか?
スレ 名前 日時
ああ ここ 2014/1/31
いい たた 2014/1/20
ああ ここ 2014/1/10
ああ ここ 2014/1/01
こんな感じにしたいです
ああ ここ 2014/1/31
└ ここ 2014/1/10
└ ここ 2014/1/01
いい たた 2014/1/20
html
<table width="100%">
<tr>
<th>スレ</th>
<th>なまえ</th>
<th>新着日時</th>
</tr>
<tbody>
<tr><td>ああ</td><td>test1</td><td>2014/01/31</td></tr>
<tr><td>いい</td><td>test2</td><td>2014/01/20</td></tr>
<tr><td>ああ</td><td>test3</td><td>2014/01/10</td></tr>
<tr><td>ああ</td><td>test4</td><td>2014/01/01</td></tr>
</tbody>
</table>
クリックでのソートはいりません。表示したときにソートするのみで結構です
よろしくお願いします
No.2ベストアンサー
- 回答日時:
(c.querySelector ('*') || c).textContent = (m === t)
No.1
- 回答日時:
<!DOCTYPE html>
<meta charset="utf-8">
<title></title>
<style>
tbody { width: 100%; }
</style>
<body>
<table width="100%">
<thead>
<tr>
<th>スレ<th>なまえ<th>新着日時
</thead>
<tbody>
<tr><td>ああ<td>test1<td>2014/01/31
<tr><td>いい<td>test2<td>2014/01/20
<tr><td>ああ<td>test3<td>2014/01/10
<tr><td>ああ<td>test4<td>2014/01/01
</tbody>
</table>
<script>
function toAry (nodeList) { return Array.prototype.slice.call (nodeList, 0); }
function A (idx, direction, samestr) {
var func = B (idx, direction);
var append = function (n) { this.appendChild (n); }
var same = C (idx, samestr || '└');
return function (tbody) {
toAry (tbody.querySelectorAll ('tr'))
.sort (func)
.forEach (append, tbody);
toAry (tbody.querySelectorAll ('tr'))
.forEach (same);
};
}
function B (index, direction) {
return !! direction
? function (a, b) {
var av = a.cells[index].textContent;
var bv = b.cells[index].textContent;
return (av === bv)
? false
: (isNaN (av) || isNaN (bv))
? av < bv
: parseFloat (av) < parseFloat (bv);
}
: function (a, b) {
var av = a.cells[index].textContent;
var bv = b.cells[index].textContent;
return (av === bv)
? false
: (isNaN (av) || isNaN (bv))
? av > bv
: parseFloat (av) > parseFloat (bv);
};
}
function C (idx, str) {
var m = null;
return function (tr) {
var c = tr.cells[idx];
var t = c.textContent;
c.textContent = (m === t)
? str
: (m = t);
}
}
toAry (document.querySelectorAll ('tbody')).forEach (A (0));
</script>
回答ありがとうございます
形としては理想に近いのですが肝心のリンクが消えてました
最初にリンクも表示するべきでした(あんまり重要と思わなかったので。すいません)
<table width="100%">
<tr>
<th>スレ</th>
<th>なまえ</th>
<th>新着日時</th>
</tr>
<tbody>
<tr><td><a href="bbs.php?id=2">ああ</a></td><td>test1</td><td>2014/01/31</td></tr>
<tr><td><a href="bbs.php?id=1">いい</a></td><td>test2</td><td>2014/01/20</td></tr>
<tr><td><a href="bbs.php?id=2">ああ</a></td><td>test3</td><td>2014/01/10</td></tr>
<tr><td><a href="bbs.php?id=2">ああ</a></td><td>test4</td><td>2014/01/01</td></tr>
</tbody>
</table>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急!GetElementById でtdの...
-
テーブルのセル数取得
-
JavaScriptでテーブルの行入れ替え
-
プルダウンで選択すると、DBの...
-
jQueryのプラグイン「Tablesort...
-
jquery datatablesを使用 イン...
-
[Javascript]セル内の文字列の...
-
セルをドラッグで選択するときに、
-
Select ボックスで選択した値を...
-
return trueとreturn falseの用...
-
Selectボックスの幅を自動で広...
-
onchangeイベントを強制的に発...
-
プルダウンで選択した項目にあ...
-
ラジオボタンにタブインデック...
-
ブラウザの外にあるマウスの情...
-
TextBoxに半角数字以外を入れた...
-
【掲示板の機能】投稿時にサイ...
-
RegularExpressionValidatorの...
-
【javascript・PHP】プルダウン...
-
javascriptで画像をテーブルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンで選択すると、DBの...
-
ハイパーリンクを別ウインドウ...
-
特定<table>内の<td>の色を変える
-
JavaScriptで特定のtdタグにcla...
-
JavaScriptでテーブルの行入れ替え
-
javascriptで質問です。 displa...
-
クリックされた罫表セルの行番...
-
jsで質問です。 displayプロパ...
-
JavaScriptでテーブルをクリッ...
-
テーブル内に表示されている数...
-
jqueryとscriptでTABLEのセルを...
-
tableの任意行にfocusをあてる
-
スクロールバーの表示位置を変...
-
Selenium.ChromeDriverの使い方...
-
テーブルの項目の値取得
-
jspでのArrayListの値の表示
-
二次元配列に数字をランダムに...
-
テーブルで表示する『列』を絞...
-
EasyUIのSubGrid(jquery)にお...
-
ブルダウン選択でページの表示...
おすすめ情報