不显示 删除回复 显示所有回复 显示星级回复 显示得分回复
脚本页面地址:http://topic.csdn.net/u/t5/t5.js
部分代码学习:
用来分析得分的人和分数,还有回复人等,哈哈。function updateReplyItems() {
if (!window.reply_items) {
var imgs = document.getElementsByTagName("img");
window.reply_items = {};
for (var i = 0; i < imgs.length; i++) {
var match = (/^grade\s+(\w+)$/i).exec(imgs[i].className);
if (match) {
var table = imgs[i].parentNode;
while (table && !(/^table$/i).test(table.tagName))
table = table.parentNode;
if (!table) continue;
grade = match[1];
var as = table.getElementsByTagName("a");
var username = "";
for (var j = 0; j < as.length; j++) {
match = (/^http\:\/\/hi\.csdn\.net\/(\w+)\/?$/i).exec(as[j].href);
if (match) {
username = match[1].toLowerCase();
break;
}
}
var dfns = table.getElementsByTagName("dfn");
var point = 0;
var layer = 0;
for (j = 0; j < dfns.length; j++) {
var p = /#(\d+)楼\s+得分:(\d+)/.exec(dfns[j].innerHTML);
if (p) {
layer = parseInt(p[1]);
point = parseInt(p[2]);
break;
}
} var ls = table.getElementsByTagName("li");
var honor = null;
for (j = 0; j < ls.length; j++) {
if (ls[j].getAttribute("name") == "honor") {
honor = ls[j];
break;
}
}
var tds = table.getElementsByTagName("td");
var body = null;
var replyId = "";
var isdeleted = false;
for (j = 0; j < tds.length; j++) {
if (/^r?body/.test(tds[j].getAttribute("csdnid"))) {
body = tds[j];
var match = /(\d+)/.exec(tds[j].getAttribute("csdnid"));
if (match) replyId = match[1];
} else if (/^rmodify_/.test(tds[j].getAttribute("csdnid"))) {
isdeleted = /删除/.test(tds[j].innerHTML);
}
}
var divs = table.getElementsByTagName("div");
var recommend = null;
for (j = 0; j < divs.length; j++) {
if (divs[j].className == "rt") {
recommend = divs[j];
break;
}
}
reply_items[layer] = {
"grade": grade
, "table": table
, "body": body
, "username": username
, "point": point
, "honor": honor
, "recommend": recommend
, "replyId": replyId
, "isdeleted": isdeleted
};
}
}
}
}

解决方案 »

  1.   

    function changeViewMode(select) {
    updateReplyItems();
    var myname = ("" + getCookie("UserName")).toLowerCase();
    for (var i = 0 in reply_items) {
    if (!reply_items[i].replyId) continue; // 非回复
    reply_items[i].table.className = "mframe"; // 去掉隐藏属性
    switch (select.value) {
    case "0": // 全部显示
    reply_items[i].table.style.display = "";
    break;
    case "1": // 星级回复
    reply_items[i].table.style.display = !(/^user/i).test(reply_items[i].grade) ? "" : "none";
    break;
    //case "2": // 楼主回复 
    // reply_items[i].table.style.display = xxx == reply_items[i].username ? "" : "none"; 
    // break; 
    case "3": // 得分回复
    reply_items[i].table.style.display = reply_items[i].point > 0 ? "" : "none";
    break;
    case "4": // 自己回复
    reply_items[i].table.style.display = myname == reply_items[i].username ? "" : "none";
    break;
    case "5": // 隐藏删除
    reply_items[i].table.style.display = reply_items[i].isdeleted ? "none" : "";
    break;
    }
    }
    }