javascript - 根据 DIV 文本在数组中查找索引
问题描述
我有一个 DIV,其中包含文本:
<div id="x">
divText
</div>
我有一个像这样的“标题行”:
var headerRow = ["wrong","wrongAgain","divText"];
我也有一个这样的数组:
var theArray = [["blah","blah","0"]["notIt","blahblah","1"],["unrelated","dontLook","0"]];
我想根据 div 中的文本在 theArray (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)
}
如何根据 div / 变量的 innerHTML 找到索引(上面的前两种情况)?谢谢!
解决方案
<div id="x">
divText
</div>
<script>
var headerRow = ["wrong","wrongAgain","divText"];
var theDiv = document.getElementById('x').innerHTML;
console.log(theDiv);
for (i=0; i < headerRow.length; i++){
if (headerRow[i] == theDiv.trim()){
console.log(headerRow.indexOf(headerRow[i]));
console.log(i);
}
}
</script>
由于 div 的 innerHTML 文本中有额外的空格/换行,您的 if 比较不起作用。因此,您需要先修剪字符串,然后再将其与标题行数组的内容进行比较。请注意,您可以使用 indexOf 方法获取匹配元素的索引,也可以只使用 i 的当前值,它也对应于该元素的索引。希望这对你有意义。
推荐阅读
- google-cloud-automl - 上传 PDF 到 Google Cloud Automl 的正确方法
- java - Axon Framework:具有两个或三个微服务之间补偿事件的 Saga 项目
- node.js - Puppeteer:如何只等待第一个响应(HTML)
- spring - SpringBootServletInitializer在WAR部署中的重要性
- python - 使用另一个数组给出的索引替换 NumPy 数组中的值
- javascript - 如何在选择匹配的响应式图像文件时替换 div 的背景图像?
- actionscript-3 - 你能解释一下 as3 随机交换形状的位置吗
- c - 为什么字符 '*' 在这个 RPN 计算器中执行乘法运算,但是如果我使用符号 x 来表示乘法它可以正常工作?
- jquery - 如何从一个字符串中的所有项目中获取数据值
- spring-boot - 我想在 Spring Boot 集成测试中创建 bean 之前模拟服务器