Skip to content

Instantly share code, notes, and snippets.

@Sea-n
Created July 4, 2020 17:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sea-n/313bad346ab8dd746af1003b546d1e67 to your computer and use it in GitHub Desktop.
Save Sea-n/313bad346ab8dd746af1003b546d1e67 to your computer and use it in GitHub Desktop.
NCTU Score Prettifier
// ==UserScript==
// @name NCTU Score Prettifier
// @author Sean
// @version 1
// @grant none
// @include https://regist.nctu.edu.tw/p_student/*
// ==/UserScript==
var grid = document.getElementById("GridView1");
var rows = grid.firstElementChild.children;
if (rows[0].children[7].innerText == "百分成績") {
for (var i=0; i<rows.length; i++) {
rows[i].children[0].outerHTML = ''; // 筆
rows[i].children[0].outerHTML = ''; // 學期
rows[i].children[0].outerHTML = ''; // 課號
rows[i].children[0].outerHTML = ''; // 開課單位
// 課程名稱
rows[i].children[1].outerHTML = ''; // 選別
// 學分, 百分成績, 等級成績, 評分方式, 成績狀態, 任課老師
rows[i].children[7].outerHTML = ''; // 向度
}
for (var i=0; i<rows.length; i++) {
var score = rows[i].children[2].innerText;
if (score == "") score = "00";
if (score == "通過") score = "60";
rows[i].dataset.score = score;
}
for (var k=rows.length; k; k--)
for (var i=2; i<k; i++)
if (rows[i-1].dataset.score < rows[i].dataset.score)
rows[i].parentNode.insertBefore(rows[i], rows[i-1]);
grid.style.maxWidth = "720px";
for (var i=1; i<rows.length; i++) {
rows[i].children[6].style.width = '';
rows[i].classList.remove("table_text", "table_alt");
rows[i].classList.add(i&1 ? "table_text" : "table_alt");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment