检查对象数据

时间:2018-01-03 08:13:31

标签: javascript html

如何在按钮点击时成功检查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");
    }
}

4 个答案:

答案 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正确的方法是使用getAttributedocument.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帖子了解更多详情。