Javascript 基于DIV文本在数组中查找索引
我有一个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 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()