javascript解析来自<;a href>;链接
假设我有javascript解析来自<;a href>;链接,javascript,jquery,html,href,Javascript,Jquery,Html,Href,假设我有 <a href="/example1">ThisTextChanges</a> <a href="/example2">ThisTextChanges</a> <a href="/example3">ThisTextChanges</a> <a href="/example4">ThisTextChanges</a> 我想迭代这些,得到“ThisTextChanges”,这是一些变化的
<a href="/example1">ThisTextChanges</a>
<a href="/example2">ThisTextChanges</a>
<a href="/example3">ThisTextChanges</a>
<a href="/example4">ThisTextChanges</a>
我想迭代这些,得到“ThisTextChanges”,这是一些变化的数字,最准确地说是计时器
我怎样才能做到这一点?jquery很好。
它们位于id为“main_container”的div中。
我需要将文本放在一个变量中,因此href对于知道我为每个变量使用哪个变量很重要。您可以迭代并将它们存储在数组中
var arr = [];
$("a").each(function(){
arr.push($(this).text());
console.log( arr );
});
你可以通过多种方式实现这一目标。此示例使用
for循环
var main_container = document.getElementById("main_container");
var items = main_container.getElementsByTagName("a");
for (var i = 0; i < items.length; ++i) {
// do something.....
}
var main_container=document.getElementById(“main_container”);
var items=main_container.getElementsByTagName(“a”);
对于(变量i=0;i
让我们将任务分解为几个步骤:
- 获取所有链接的句柄(
)document.querySelectorAll
- 了解如何获取
标记(a
)的当前文本childNode[0].nodeValue
- 把它们放在一起(
,Array.from
)Array.map
document.querySelectorAll
获取与选择器匹配的所有节点的列表。这里我将使用选择器a
,但是您可能有一个类指定这些链接与页面上的其他链接:
var links = document.querySelectorAll('a');
获取链接的文本
这个有点复杂。有几种方法可以做到这一点,但其中一种更有效的方法是通过子节点(主要是文本节点)进行循环,并为每个节点追加节点.nodeValue
。我们可能不需要使用第一个子元素的nodeValue
,但是我们将构建一个函数来循环并附加每个元素
function getText(link){
var text = "";
for (var i = 0; i < link.childNodes.length; i++){
var n = link.childNodes[i];
if (n && n.nodeValue){
text += n.nodeValue;
}
}
return text;
}
var数组=[];
$('#主容器a')。每个(函数(){
array.push($(this.html());
});
console.log(数组)代码>
请尝试:
$('#main_container > a[href]').each(function() {
var tes = $(this).attr('href').substring(1);
window[tes] = $(this).text();
});
将生成名为example1
且值为123
的变量,依此类推。您只需在a选择器中添加条件,如下所示:
var array = [];
$('#main_container a[href="/example2"]').each(function(){
array.push($(this).html());
});
console.log(array);
在选择器中使用a
标记。您的意思是
将生成名为example1
且值123
的变量,依此类推?这看起来很简单,就是这样。如何才能让它搜索特定的url?例如,仅收集“/example2”的文本?因为这是我知道的唯一一种方法,解析将进入每个变量,它是通过相关的url进行的。很高兴我可以帮助你,如果它解决了你的问题或帮助了你,请接受!我还需要一点帮助,在我写完之前,我正在尝试断行并发布$('#main_容器a[href=“/example2”]”)。每个(函数(){array.push($(this.html());});console.log(数组);看看我在底部的答案和代码片段,我无法将代码粘贴到注释部分!