Javascript 要使用jquery从dom构建超链接列表吗
我想使用JQuery搜索当前文档,使用以下过程,只是我不能完全理解语法: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
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的搜索功能也将受益于您对挑战。