要求有两点,1、屏蔽无货 已经达成
2、添加一个恢复按钮 未达成
现在的问题是按钮添加后没有功能。不知道是什么原因。
ps:在油猴 Tampermonkey 上运行
(function() { 'use strict';
var b = document.getElementsByTagName("em");
var blok = new Array();
for (var i in b) {
if (b[i].innerHTML == "(out of stock)") {
b[i].parentNode.parentNode.style.display = "none";
blok = blok.concat(b[i]);
}
}
alert("屏蔽成功!");
var myMethods = {
showMethod: function() {
for (var k in blok) {
blok[k].style.display = "block";
}
alert("调用成功!");
}
};
var fat = document.getElementById("order-web20cart").getElementsByTagName("div")[0];
var butt = document.createElement("input");
butt.setAttribute("type", "button");
butt.setAttribute("value", "显示所有");
butt.setAttribute("onclick", 'myMethods.showMethod()');//这个 showMethod()调不出来
fat.appendChild(butt);
// Your code here...
})();
1
jy02534655 2017-10-24 15:30:23 +08:00
监听点击事件能这样写么?
|
2
cisisustring OP @jy02534655 我自己写 testDemo 都是这样写,能点击出来。但是在油猴上就不行,不知道是不是油猴不支持
|
3
MinonHeart 2017-10-24 16:07:55 +08:00 1
这是想显示隐藏 out of stock ?
blok = blok.concat(b[i]); 这句错了 改成 blok.push(b[i].parentNode.parentNode); |
4
Marfal 2017-10-24 16:18:12 +08:00
瓦工 HK 近期要上线了,目测要被操烂
|
5
cisisustring OP @MinonHeart @jy02534655 谢谢指正。这里补上以后,setAttribute 还是不能调用 showMethod(),听从 1 楼的建议换监听点击事件后就可以,不知道为什么。
下面是修改后的代码<br> (function() { 'use strict'; var b = document.getElementsByTagName("em"); var blok = new Array(); var temp=0; for (var i in b) { if (b[i].innerHTML == "(out of stock)") { b[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; blok = blok.concat(b[i].parentNode.parentNode.parentNode.parentNode.parentNode); } } alert("屏蔽成功!"); var myMethods = { showMethod: function() { for (var k in blok) { blok[k].style.display = "block"; } alert("全部显示!"); } }; var fat = document.getElementById("order-web20cart").getElementsByTagName("div")[0]; var butt = document.createElement("input"); butt.setAttribute("type", "button"); butt.setAttribute("value", "显示所有"); butt.setAttribute("id", "mybutton");//新加 id // butt.setAttribute("onclick", "myMethods.showMethod()");//用 setAttribute 不能成功 fat.appendChild(butt); document.getElementById("mybutton").addEventListener("click",myMethods.showMethod);//绑定事件监听成功执行 // Your code here... })(); |
6
jy02534655 2017-10-24 16:40:05 +08:00 1
@cisisustring 应该是兼容问题,js 常见坑
|
7
cisisustring OP @jy02534655 目前是这个样子,能用就行。
|