jQuery变量比较不正确

jQuery变量比较不正确

我试图从这3个元素中获取结果,每次单击按钮时它都会更新

<span id="machine1Result" class="slotMachine noBorder">0</span>
<span id="machine2Result" class="slotMachine noBorder">0</span>
<span id="machine3Result" class="slotMachine noBorder">0</span>


这段代码尝试获取元素的3个组合值,如果匹配,我可以进行一些更改:

var text = $('#machine1Result,#machine2Result,#machine3Result').text();
var comparingText0 = "000";
var comparingText1 = "111";

if (text == comparingText0) {
    $('.wonbg').css({'background-image': 'url(img/won_bg.png)'});
    $('.rw14').css({'backgroundColor': '#ff9900'});
    count += 1;
}
if (text == comparingText1) {
    $('.wonbg').css({'background-image': 'url(img/won_bg.png)'});
    $('.rw1').css({'backgroundColor': '#ff9900'});
    count += 1;
}
else {
    $('.slotMachineButton').click(function() {

        $('.wonbg').css({"background": "none"});
        $('.rewards').css({"background": "none"});

    });
}


上面的代码如果元素具有相同的编号,则可以正常运行条件,但是即使输入了错误的数字(例如110或101,反之亦然),它也可以运行,尝试===给我相同的结果。

最佳答案

如果第一个条件为真,则也会触发其他条件。那是因为这条线

if ( text == comparingText1 ) {


如果应该,否则

else if ( text == comparingText1 ) {


现在所有条件都将链接在一起。

鞠躬另一个问题是文本是text()

var text = $('#machine1Result,#machine2Result,#machine3Result').text();


编辑:由于您给的是错误的,我必须更改答案。

文字)_只会给出第一个答案,因此您需要遍历它们

var results = $('#machine1Result,#machine2Result,#machine3Result');
results.each( function() {
    var currentLine = $(this);
    var currentText = currentLine.text();
    console.log(currentText);
} );

关于javascript - jQuery变量比较不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25614101/

10-11 14:04