如何通过classname和store获取页面中的所有链接

时间:2014-12-21 14:37:09

标签: javascript php jquery json

您好我的第一个问题是关于堆栈溢出,

我希望通过它的类名获取页面上的所有链接,将它们存储在一个数组中并将其导出为Json格式文件results.json

我的编程背景是PHP,C ++,还在学习Javascript

这里是文档表单的html结构,我想提取链接

<div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>

我已经通过queryselectorall(),通过classname()获取元素的不同方法做了一些研究,但接下来我得到了什么元素,但​​是如何在文本中转换它们并导出到Json文件(什么是函数解码)和任何用于编写文件的文件读取函数就像在PHP中一样?

任何人都可以向我推荐那些将用于执行此操作的代码示例的函数吗?

我的流程图:

从页面中提取所有链接,使用太平洋类名[2]将它们存储在数组中[3]将数组编码为JSON [4]将Json写入

data.Json file

我知道如何做到这一点但有问题找出什么方法,功能需要使用以及以何种方式

先谢谢

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式完成: -

  1. 选择类元素。

  2. 然后使用循环来获取课程中的所有链接。

  3. function getAllLink(){
        var class1 = document.getElementsByClassName('_zs fwb');
        var array1 = [];
        for(i=0;i<class1.length;i++){
            var str = class1[i].getElementsByTagName('a')[0].href;
            var res = str.split("?"); 
            array1.push(res[0]);
        }
        console.log(array1);
    }
    
    window.onload = getAllLink();
    <div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>
    <div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>
    <div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>
    <div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>

答案 1 :(得分:0)

要获取所有链接:

var allLinks = document.getElementsByTagName('a');

你也可以试着玩:

var allLinks = document.querySelectorAll('a');

要获取所有某个类名,请执行以下操作:

var allSomename = document.getElementsByClassName('somename');

这应该足以让你开始,是吗?