javascript – 如何在没有jQuery的情况下使这段代码工作?

目前我有一个代码如下:

$('a.guide-item[href="/"]').remove();
$('*[href="/"]').attr('href','/Feed/subscriptions/u');

我需要缩小文件大小,但我不知道如何在“vanilla”javascript中复制代码.请帮忙!

解决方法:

不支持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”将匹配为子模式.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...