用普通的JavaScript写jQuery语句



我正在使用wikipedia api来获取已提供关键字的文章的第一个para。

我必须从JSON响应中提取格式的文本,但在我在Div中显示其ID是Wiki的DIV-

$.getJSON("http://en.wikipedia.org/w/api.php?" +
            "action=mobileview&format=json&page=" +
            keyword + "&redirect=no&sections=0&prop=text&" +
            "sectionprop=toclevel%7Clevel%7Cline%7Cnumber" +
            "%7Cindex%7Cfromtitle%7Canchor&callback=?",
          function(json) { 
                    $('#wiki').html(json.mobileview.sections[0].text)
                              .find("dl,sup,.thumb,table.infobox,table.metadata")
                              .remove().end(); 
          }
);

我已经调整了jQuery技巧,从包含所请求的Wikipedia页面的HTML代码的JSON响应中删除标签/选择器。我想在用HTML/JS编写的Windows 8商店应用中使用上述片段。我希望将以下行转换为本机JavaScript,并在不使用jQuery的情况下实现选择器删除代码 -

$('#wiki').html(json.mobileview.sections[0].text)
           .find("dl,sup,.thumb,table.infobox,table.metadata")
           .remove().end(); 

我是JavaScript Newbie。任何人都可以将此行转换为普通vanilla JavaScript?

var wiki = document.querySelector('#wiki');
wiki.innerHTML = json.mobileview.sections[0].text;
var content = wiki.querySelectorAll("dl,sup,.thumb,table.infobox,table.metadata");
for (var i = 0; i < content.length; i++) {
    if (content[i].nodeName.toUpperCase() === "A")
        content[i].parentNode.insertBefore(content[i].firstChild, content[i]);
    content[i].parentNode.removeChild(content[i]);
}

这将在大多数浏览器中起作用,包括IE8和更高。

最新更新