不显示 删除回复 显示所有回复 显示星级回复 显示得分回复
脚本页面地址: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
};
}
}
}
}
脚本页面地址: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
};
}
}
}
}
解决方案 »
- js 取值
- 在写表单序列化函数和js事件辅助函数遇到的问题,求教!!!
- 怎么区分是调用window.close还是手动按右上角X?
- JS的一个QQ菜单,功能基本实现,现在存在的问题,请高手指点
- 如何让一个图层永远位于网页的中央
- 怎么样获取字符
- 100分,不够再加,我想在客户端调用扫描仪的应用程序,急急急急急急急。
- 祝贺WEB开发大版主兼JS版版主fason当选新一届MVP
- 怎样实现动态的简体转繁体!(在线等待,马上给分)
- Javascript函数,出现错误?不知道错误出在哪里?
- ext4.0中checkbox的check事件无效了?
- 想学人家做一个单选框的图片按钮,点击却没有反应。大晕,求指正!
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;
}
}
}