我试图从这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/