如何在按钮点击时成功检查html对象的数据是否等于变量的数据?我试过这个但是它似乎正在执行代码,无论语句是否正确。
var FL1 = document.getElementById("FL1Object").data
var Data = 'FL1.png'
document.getElementById("FLLeftBtn").onclick = function()
{FLLeftBtnClicked()};
function FLLeftBtnClicked() {
if (FL1 = Data) {
alert("Test Successful");
}
}
答案 0 :(得分:4)
您在 if condition
中使用了错误的运算符var FL1 = document.getElementById("FL1Object").data
var Data = 'FL1.png'
document.getElementById("FLLeftBtn").onclick = function()
{FLLeftBtnClicked()};
function FLLeftBtnClicked() {
if (FL1 == Data) { //use == to compare items
alert("Test Successful");
}
}
答案 1 :(得分:2)
如果您使用data_attributes正确的方法是使用getAttribute
或document.getElementById('elementId').dataset.someKey
var FL1 = document.getElementById("FL1Object").getAttribute('data-img')
var Data = 'FL1.png'
document.getElementById("FLLeftBtn").onclick = function() {
FLLeftBtnClicked()
};
function FLLeftBtnClicked() {
if (FL1 === Data) {
alert("Test Successful");
}
}
<object id="FL1Object" data-img="FL1.png">
<button id = "FLLeftBtn">Test</button>
答案 2 :(得分:1)
部分问题是语法错误。请if (FL1 == Data)
代替if (FL1 = Data)
。
答案 3 :(得分:0)
问题在于这一行:
if (FL1 = Data)
像这样:
if (FL1 === Data)
每次执行代码的原因是&#39; =&#39;是一个赋值运算符,而不是一个比较运算符,它返回Data
变量的值,并将其传递给由JavaScript转换为 true 的条件。因此,条件总是正确的。
阅读this帖子了解更多详情。