Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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从dom构建超链接列表吗_Javascript_Jquery_Html - Fatal编程技术网

Javascript 要使用jquery从dom构建超链接列表吗

Javascript 要使用jquery从dom构建超链接列表吗,javascript,jquery,html,Javascript,Jquery,Html,我想使用JQuery搜索当前文档,使用以下过程,只是我不能完全理解语法: 列出每个DIV的ID,其中data role=“page”包含文本“abcd” 循环此操作的结果并创建一个HTML列表: 找到第一个H1标记,并获取其文本,以便在每个找到的DIV的超链接中使用 使用超链接构建li: 将所有这些操作的结果转换为HTML块,并将其插入到特定的DIV中 我打赌有一种方法可以通过三行JQuery来实现这一点。让您开始: var idList = [] $("div['data-role'='pag

我想使用JQuery搜索当前文档,使用以下过程,只是我不能完全理解语法:

  • 列出每个DIV的ID,其中data role=“page”包含文本“abcd”

  • 循环此操作的结果并创建一个HTML列表:

  • 找到第一个H1标记,并获取其文本,以便在每个找到的DIV的超链接中使用

  • 使用超链接构建li:
  • 将所有这些操作的结果转换为HTML块,并将其插入到特定的DIV中

  • 我打赌有一种方法可以通过三行JQuery来实现这一点。

    让您开始:

    var idList = []
    $("div['data-role'='page']").each(function() {
      idList.push($(this).attr('id');
    });
    
    不确定H1输出和以下html的格式…

    您可以从

    $('div[data-role=page]').each(function(item)
    {
        var text = $(item).text();
    
        if(text.indexOf('abcd') == -1)
        {
            return false;
        }
    
        /* Now manipulate your divs here */
    }
    
    我打赌有一种方法可以用三行 JQuery


    不,没有。你已经有8行了。没有人会为您编写代码

    我想我理解你的意图,你的解释是有道理的,但我同意其他人的看法,看到你迄今为止所做的尝试会很好,然后可能会更容易帮助。。。正如estshy所说,我猜SO社区不是来为其他人编写代码的

    …但我被“也许三行jQuery”逗乐了,毕竟,jQuery可以用来生成一些可怕的一行程序

    …所以这里有一个单行程序可以满足您的要求:

    $("div[data-role='page']").filter(function(i, el) { return $(el).contents().text().indexOf("abcd") != -1}).each(function(i, el) { $("#results").append("<li><a href='#" + $(el).attr("id") + "'>" + $(el).find("h1").first().text() + "</a></li>")})
    
    $(“div[data role='page'])。过滤器(函数(i,el){return$(el).contents().text().indexOf(“abcd”)!=-1})。每个(函数(i,el){$(“#results”)。追加(
  • ”)
    伴奏小提琴:


    这不是一个很好的代码,开玩笑吧,如果你喜欢它的功能,你可以为你的项目整理一下。

    你试过什么吗?如果你有问题,请发一些代码。我不同意。这实际上是一段很棒的代码,经过一些调整,我得到了我需要的东西。谢谢壮观的我很高兴它对你有用。我认为你受到了一些反对票的严厉对待,而且“封闭的太宽了”——你的问题对我来说很有意义——我经常做类似的事情(也就是说,用我的div和H1等结构构建目录-这里的最新示例:再次感谢!我本可以让它不那么宽泛,但这不会产生您提供的如此有用的答案。现在,其他人搜索类似的基于JQuery的搜索功能也将受益于您对挑战。