Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用普通JavaScript编写jQuery语句_Javascript_Jquery - Fatal编程技术网

用普通JavaScript编写jQuery语句

用普通JavaScript编写jQuery语句,javascript,jquery,Javascript,Jquery,我正在使用WikipediaAPI获取一篇文章的第一段,其中提供了一个关键字 我必须从JSON响应中提取格式化文本,但在我将其显示在id为wiki的div中之前,必须抑制一些不需要的信息,如侧边栏(位于表中,具有类名infobox)- $.getJSON("http://en.wikipedia.org/w/api.php?" + "action=mobileview&format=json&page=" + keyword + "

我正在使用WikipediaAPI获取一篇文章的第一段,其中提供了一个关键字

我必须从JSON响应中提取格式化文本,但在我将其显示在id为wiki的div中之前,必须抑制一些不需要的信息,如侧边栏(位于表中,具有类名infobox)-

$.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(); 
          }
);
我已经从包含请求的Wikipedia页面的HTML代码的JSON响应中找到了。我想在用HTML/JS编写的Windows8应用商店应用程序中使用上述代码段。我希望将下面这行代码转换为本机JavaScript,并在不使用jQuery的情况下实现选择器删除代码-

$('#wiki').html(json.mobileview.sections[0].text)
           .find("dl,sup,.thumb,table.infobox,table.metadata")
           .remove().end(); 
我是JavaScript新手。有人能把这行代码转换成普通的JavaScript吗?

var wiki=document.querySelector(“#wiki”);
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]);
}
wiki.innerHTML=json.mobileview.sections[0]。文本; var content=wiki.queryselectoral(“dl,sup,.thumb,table.infobox,table.metadata”); 对于(变量i=0;i
这将适用于大多数浏览器,包括IE8和更高版本; wiki.innerHTML=json.mobileview.sections[0]。文本; var content=wiki.queryselectoral(“dl,sup,.thumb,table.infobox,table.metadata”); 对于(变量i=0;i
这将适用于大多数浏览器,包括IE8和更高版本。

谢谢!这很有帮助。我也不需要显示内容中的超链接,但保留超链接文本。我看了一些样品,但不能适应我的要求。如何通过扩展相同的代码从内容中删除锚定标记(但保留文本)?@mvp:假设锚定只有文本,没有嵌套元素,您可以在我更新的答案中使用该代码。如果锚点不是当前DOM选择的一部分,请在选择器的末尾添加
、a
,或者如果您只希望锚点具有
href
属性,请添加
、a[href]
。谢谢!这很有帮助。我也不需要显示内容中的超链接,但保留超链接文本。我看了一些样品,但不能适应我的要求。如何通过扩展相同的代码从内容中删除锚定标记(但保留文本)?@mvp:假设锚定只有文本,没有嵌套元素,您可以在我更新的答案中使用该代码。如果锚定不是当前DOM选择的一部分,请在选择器的末尾添加
、a
,或者如果您只希望锚定具有
href
属性,则添加
、a[href]