Javascript 从相同的标记获取innerHTML
我在获取以下两个Javascript 从相同的标记获取innerHTML,javascript,html,Javascript,Html,我在获取以下两个strong标记的innerHTML时遇到问题 <div> <strong>data 1</strong> <span class="and">and</span> <strong>data 2 </strong> </div> <div> <strong>data 3</strong> <span
strong
标记的innerHTML时遇到问题
<div>
<strong>data 1</strong>
<span class="and">and</span>
<strong>data 2 </strong>
</div>
<div>
<strong>data 3</strong>
<span class="and">and</span>
<strong>data 4 </strong>
</div>
及
querySelector查找第一个结果并停止搜索,而querySelector查找所有结果。如果您有相同的标记并且需要特定的innerHTML标记,则提供唯一的ID,然后尝试提取,或者如果您想要提取所有
strong
标记innerHTML,则使用querySelectorAll()
举例来说
<div>
<strong>data 1</strong>
<span class="and">and</span>
<strong>data 2 </strong>
</div>
<div>
<strong>data 3</strong>
<span class="and">and</span>
<strong>data 4 </strong>
</div>
var a = document.querySelectorAll("strong");
for (var i = 0; i < a.length; i++) {
alert(a[i].innerHTML);
}
数据1
及
数据2
数据3
及
数据4
var a=document.queryselectoral(“强”);
对于(变量i=0;i
尝试下面的代码来记录strong
标记的html:
var elems = document.getElementsByTagName('strong');
for (i=0;i < elems.length;i++{
console.log(elems[i].innerHTML)
}
总结各部分:
document.querySelector(CommaseOperatedStringOfSelectors)
仅查找满足给定选择器的文档中的第一个节点。因此,您需要更具体地使用它,需要为html元素提供一些可查询的选择器,如id
class
document.querySelectorAll(CommaseOperatedStringOfSelector)
获取满足选择器要求的所有节点的数组。然后,您可以通过索引选择所需的元素getElementByTagName('tagname')
,getElementsByClassName('class')
,或getElementById('id')
注意:
document.querySelectorAll(CommaseOperatedStringOfSelectors)
更通用,它让您有机会更具体或更不具体。您可以在其中使用这样的字符串:'strong,div.animals,a'
好的,我通过执行以下操作完成了我的工作
var divLength = document.getElementsByTagName("div").length;
var z = 0;
for(i=0; i<divLength; i++){
var dataFromFirstStrong = document.getElementsByTagName("strong")[z].innerHTML;
z++;
var dataFromSecondStrong = document.getElementsByTagName("strong")[z].innerHTML;
z++;
}
var divLength=document.getElementsByTagName(“div”).length;
var z=0;
对于(i=0;itryqueryselectorall()
这是因为当它找到元素时,它会停止寻找其他元素。因此,在这种情况下,您需要循环
继续响应它找到的每个元素
名为strong
,或者像@debin提到的那样尝试。您需要什么强标记?从第一个div、第二个div还是从两个div开始?@AndriyIvaneykohtml DOM中出现的标记。这只是我提供的一个示例,根据数据库中可用的记录生成随机数目的强标记。我知道您的解决方案,我提供的数据已经从一个div的另一个标记i-e中获取,现在我如何使用另一个文档。getElementsByTagName('strong'))从那里面?我知道你的解决方案,我提供的数据已经从另一个标签i-e从一个div中获取,现在我如何使用另一个文档。querySelectorAll('strong')从那里面?你想要什么?完全相同的标签innerHTML对吗?还有什么是document.querySelectorAll('strong')从该
mean?请查看我在问题中更新的样本数据。请首先尝试回答..通过这样做,您将获得您想要的输出是的,我知道它可以工作,但我不想在每个强标记上循环,我已经在标记上循环了,因此内部循环没有任何帮助不幸的是:(@AndriyIvaneyko我得等两天
var elems = document.getElementsByTagName('strong');
for (i=0;i < elems.length;i++{
console.log(elems[i].innerHTML)
}
var elems = document.getElementsByTagName('strong')[:1];
console.log(elems[elems.length-1].innerHTML);
var divLength = document.getElementsByTagName("div").length;
var z = 0;
for(i=0; i<divLength; i++){
var dataFromFirstStrong = document.getElementsByTagName("strong")[z].innerHTML;
z++;
var dataFromSecondStrong = document.getElementsByTagName("strong")[z].innerHTML;
z++;
}