这段代码的问题是我想获取我的数据属性的值并知道它是否有效我使用警报功能来查看它是否得到它。现在问题来了,每次我在 else if 条件下调用不同的数据属性时,它显示值 null。有人可以解释如何做以及为什么这样工作。
function showDetails(value) {
let atr = value.getAttribute("data-Number");
let opr = value.getAttribute("data-clear");
if (value = atr) {
console.log("atr",atr);
} else {
console.log("opr",opr);
}
}
<div class="col border border-6">
<div class="btn-group btn-group-lg" role="group" aria-label="Large button group">
<button onclick="showDetails(this)" data-Number="1" type="button" class="btn btn-outline-dark">1</button>
<button onclick="showDetails(this)" data-Number="2" type="button" class="btn btn-outline-dark">2</button>
<button onclick="showDetails(this)" data-Number="3" type="button" class="btn btn-outline-dark">3</button>
<button onclick="showDetails(this)" data-operator="1" type="button" class="btn btn-outline-dark">+</button>
</div>
</div>
要解决此问题,您应该在 if 语句中使用比较运算符(== 或 ===),如下所示:
function showDetails(value) {
let atr = value.getAttribute("data-Number");
let opr = value.getAttribute("data-operator");
if (value.getAttribute("data-Number") != null) {
alert(atr);
} else {
alert(opr);
}
}