我的问题与这段代码是,我想得到我的数据属性的值,并知道它是否工作,我使用警报函数,看看它是否得到它。现在问题来了,每次我在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);
}
}