JavaScript while从DOM循环遍历ElementId直到第一个空元素

问题描述 投票:1回答:3

我想这很容易,但是我对此并不陌生,被困住了。我想遍历网页的某些ElementId以提取其中的文本。

我正在寻找的ElementId像这样:

“” p000“,” p001“,” p002“等(我想它会一直到” p999“)]

这是我到目前为止所拥有的。

var totalText=[]
while(text===""):
    var text=document.getElementById("p0003");
    totalText.push(text);
}

现在,我想遍历所描述的ElementId,并在文本为空时立即停止,这意味着不再有元素“ p091”,并且循环停止并且直到“ p999”才继续。

我希望你能明白我的意思。我将不胜感激!

javascript while-loop getelementbyid
3个回答
1
投票

这将有助于获取所有元素并遍历它们!

var arrayofelements = [];
function getElements(){
  var lenght=document.getElementsByTagName("div").length;
    for(var a = 0;a <= lenght; a++){    
      var text = document.getElementById("p"+a);
      if(text == undefined || text == null){
       return;
      }  
      arrayofelements.push(text.innerHTML);
    }
}
getElements();
arrayofelements.forEach(foreachfunc);
function foreachfunc(item,index){
  document.write("Array Data:   "+item);
}
<div id="p0">0</div>
<div id="p1">1</div>
<div id="p2">2</div>
<div id="p3">3</div>
<div id="p4">4</div>
<div id="p5">5</div>

0
投票
var totalText=[]
while(text===""):
    if(text === ""){
     break;
    }
    var text=document.getElementById("p0003");
    totalText.push(text);
}    

这样的事情。我从您的问题中了解到,您想在发现空条目后立即停止while循环。


0
投票

您可以为每个元素添加一个类(从p000到p999)。然后使用document.getElementsByClassName()。查询DOM是一项昂贵的操作,因此最短的时间通常是个好主意。另外,document.getElementsByClassName()执行您想要的逻辑。

这里举个例子:

var paragraphs = Array.from(document.getElementsByClassName('info-para'));
console.log(paragraphs);
<p class="info-para" id="p0">0</p>
<p class="info-para" id="p1">1</p>
<p class="info-para" id="p2">2</p>
<p class="info-para" id="p3">3</p>
<p class="info-para" id="p4">4</p>
© www.soinside.com 2019 - 2024. All rights reserved.