如何解决div id 匹配 getFullYear 日期的公式
我有一些待处理的代码无法工作,因为我认为我正在比较 if 语句中的两种不同类型的数据,而且在我的一生中,我无法弄清楚如何让它们正确地相互比较.我想获取当前年份并将其与同样标有年份的 div 标签的 ID 进行比较。我的示例代码(使用 W3 fiddler 进行测试):
<!DOCTYPE html>
<html>
<body onload="myFunction()">
<h2>Test Code</h2>
<p id="2021"></p>
<script>
function myFunction() {
var actualYear = new Date().getFullYear();
var divName = document.getElementById(actualYear);
if (divName = actualYear) {
document.writeln(actualYear);
document.writeln(divName);
}
}
</script>
</body>
</html>
此代码正确获取了实际年份的“2021”的全年,并从 divName 的“2021”的 div id 中提取了正确的文本,但是当我将 if 语句更改为包含“==”以要求完全匹配公式会中断,即使我从上面的片段中得到了完全匹配。我曾尝试将 parseInt 添加到 divName 代码中,但这不起作用。我在最后添加了 .innerHTML ,它确实有效,但出于我的目的,我不能在本节中的 div 标签之间添加任何 HTML,因此这不是一个选项。有什么建议或巧妙的解决方法吗?
解决方法
您的变量 divName
不包含 id 属性,而是包含整个 HTMLElement
。所以你需要把它改成
var actualYear = new Date().getFullYear();
var divName = document.getElementById(actualYear).getAttribute("id");
if (divName === actualYear) {
document.writeln(actualYear);
document.writeln(divName);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。