首页 > 解决方案 > 在 div 中搜索特定单词

问题描述

我不能 100% 确定我的 JavaScript 是否正确,但是即使我有 'FEW' 作为文本值,它也会显示 'Testing' - 它应该选择它并且 bar = "Medium",但它没有。

if (document.getElementById('raw').innerHTML.indexOf("CLR") != -1) {
    bar = "Excellent";
} else if (document.getElementById('raw').innerHTML.indexOf("FEW") != -1) {
    bar = "Medium";
} else {
    bar = "Testing";
}  
document.getElementById("bar").innerHTML = bar;

的HTML:

<p>Live: </p><div class="d-none" id="raw"></div>

<div class="d-none">
    <h5>Test: <span id="bar"></span>.</h5>
</div>

标签: javascriptif-statementindexof

解决方案


你的代码看起来不错。

请记住,这indexOf是区分大小写的。并且避免多次获得相同的元素,最好将其存储到您的元素或整个 HTML 的变量中。

看看我的片段

var html = document.getElementById('raw').innerHTML;

if (html.indexOf("CLR") != -1) {
    bar = "Excellent";
} else if (html.indexOf("FEW") != -1) {
    bar = "Medium";
} else {
    bar = "Testing";
}

document.getElementById("bar").innerHTML = bar;
.d-none {
    display:none;
}
<p>Live: </p><div class="d-none" id="raw">blablablablaCLRblabla</div>

<h5>Test: <span id="bar"></span>.</h5>


推荐阅读