Javascript 基于DIV文本在数组中查找索引

Javascript 基于DIV文本在数组中查找索引,javascript,html,arrays,indexing,Javascript,Html,Arrays,Indexing,我有一个DIV,其中包含文本: <div id="x"> divText </div> 我还有这样一个数组: var headerRow = ["wrong","wrongAgain","divText"]; var theArray = [["blah","blah","0"]["notIt","blahblah","1"],["unrelated","dontLook","0"]]; 我想根据div中的文本在数组(2)中查找索引: var theDiv =

我有一个DIV,其中包含文本:

<div id="x">
  divText
</div>
我还有这样一个数组:

var headerRow = ["wrong","wrongAgain","divText"];
var theArray = [["blah","blah","0"]["notIt","blahblah","1"],["unrelated","dontLook","0"]];
我想根据div中的文本在数组(2)中查找索引:

var theDiv = x.innerHTML;
for (i=0; i < headerRow.length; i++){
    if (headerRow[i] == theDiv){        <--never works
    if (headerRow[i] == x.innerHTML) {  <---never works
    if (headerRow[i] == "divText") {     <--works (i = 2)
}
var theDiv=x.innerHTML;
对于(i=0;i如果(headerRow[i]==theDiv){要从div中获取文本,应该首先通过id获取元素

var theDiv = document.getElementById("x").innerHTML

它将使用第1个数组,第2个嵌套数组可以首先展平


您使用的是innerHTML,其中as返回HTML元素的内容,包括空格和新行。请改用innerText或对innerHTML或textContent使用方法trim

在您的例子中,比较不成功,因为您使用innerHTML提取的文本包含空格和换行符

注意:如果元素ID是有效的标识符,它可以直接用作 window.elementid或只是elementid,但最好使用getElementByID


divText
var headerRow=[“错误”、“再次错误”、“divText”];
var theDiv=document.getElementById('x').innerHTML;
控制台日志(theDiv);
对于(i=0;i
使用x.text()代替innerHTML$(“#x).text()。我确信这是一个重复的问题。搜索
indexOf
尝试innerText,而不是innerHTML
var x = document.getElementById('x')  
var theDiv = x.innerHTML.trim();
for (i=0; i < headerRow.length; i++){
    if (headerRow[i] == theDiv) {
              // your codes goes here
              console.log('works')
    }
}
var theDiv = x.innerText
var theDiv = x.textContent.trim()