目前我的代码如下:
$('a.guide-item[href="/"]').remove();
$('*[href="/"]').attr('href','/feed/subscriptions/u');
我需要缩小文件大小,但我不知道如何在“vanilla”javascript中复制代码。请帮忙!
答案 0 :(得分:6)
不支持IE6 / 7,它非常简单。
var els = document.querySelectorAll('a.guide-item[href="/"]');
for (var i = 0; i < els.length; i++) {
if (els[i].parentNode)
els[i].parentNode.removeChild(els[i]);
}
els = document.querySelectorAll('*[href="/"]');
for (i = 0; i < els.length; i++) {
els[i].setAttribute('href','/feed/subscriptions/u');
}
如果你需要支持IE6 / 7,它仍然非常简单,但是有一个方法可以按类选择元素,或者至少对类进行测试会很有帮助。
不难在网上找到这些的实现。
这是一个支持旧IE的快速实现。
var els = document.links,
i = els.length;
while (i--) {
if (els[i].getAttribute("href") !== "/")
continue;
if (els[i].className.indexOf("guide-item") !== -1) {
els[i].parentNode.removeChild(els[i]);
} else {
els[i].setAttribute('href','/feed/subscriptions/u');
}
}
它假定.className
不会有其他类"guide-item"
作为子模式匹配。