检测元素的innerHTML的最后一个字符是否为"1",如果是,下划线并将最后一个字符设置为绿色,并

Detect if final character of innerHTML of an element is "1", if so, underline and make the last character green, and add some text to the front

本文关键字:quot 最后一个 字符 元素 下划线 设置 如果 innerHTML 检测 是否      更新时间:2023-09-26

因此,如果id为output的元素的innerHTML的最后一个字符是"1",我想添加:

<a style='color: Green; font-size: 32px;'>Our final result is 1!</a><br><br>`

移到outputinnerHTML前面,并使最后一个字符("1")为绿色并加下划线。这是我到目前为止所尝试的:

var out = document.getElementById("output");
if(out.innerHTML.slice(-1) == "1") {
    out.innerHTML = "<a style='color: Green; font-size: 32px;'>Our final result is 1!</a><br><br>" + out.innerHTML;
    out.innerHTML = out.innerHTML.slice(0, -1) + "<u style='color: Green;'>" + out.innerHTML.slice(-1) + "</u>";
} 
这是我的HTML:
<b id="output">
2 / 2 = 1
</b> 

我也试过这个:

var out = document.getElementById("output");
if(out.innerHTML.charAt(out.innerHTML.length - 2) == "1") {
    out.innerHTML = "<a style='color: Green; font-size: 32px;'>Our final result is 1!</a><br><br>" + out.innerHTML;
    out.innerHTML = out.innerHTML.slice(0,-2) + "<u style='color: Green;'>1</u>";
}

但两种方法似乎都不起作用(意思是没有区别)。

我怎么让它工作呢?

innerHTML将包含新行作为最后一个字符。

out.innerHTML = out.innerHTML.trim();