Javascript Greasemonkey:为什么这个if语句总是返回true?
这让我很困惑。。。我正在ajax页面上使用WaitForkEyelments。。。我有一个if语句,只有当有一个值为“Accept Offer”的按钮时,才会弹出一个警报。不幸的是,当仅有的两个按钮的值为“继续探索”和“投资”时,就会弹出警报。我有一种感觉,它与真/假的东西有关,但我不明白为什么getElementById应该像这样工作,但我的选择器没有。如果我添加了一个Javascript Greasemonkey:为什么这个if语句总是返回true?,javascript,jquery,if-statement,greasemonkey,Javascript,Jquery,If Statement,Greasemonkey,这让我很困惑。。。我正在ajax页面上使用WaitForkEyelments。。。我有一个if语句,只有当有一个值为“Accept Offer”的按钮时,才会弹出一个警报。不幸的是,当仅有的两个按钮的值为“继续探索”和“投资”时,就会弹出警报。我有一种感觉,它与真/假的东西有关,但我不明白为什么getElementById应该像这样工作,但我的选择器没有。如果我添加了一个===something,这确实有效,但我想知道为什么它不能这样工作 因此,当有两个按钮的值分别为“继续探索”和“投资”时,我
===something
,这确实有效,但我想知道为什么它不能这样工作
因此,当有两个按钮的值分别为“继续探索”和“投资”时,我会收到一个提示“是”,然后是一个提示“投资”。当没有值为“接受报价”的按钮时,它不应该运行“else”吗
你应该这样做
if ($( '.adv-action[value*="Accept Offer"]').length!=0){
alert("Yes!")
alert($('.adv-action').val())
}
else{
alert("no")
alert($('.adv-action').val())
}
$('.adv action[value*=“Accept Offer”]')
返回一个数组,数组将始终等于true,因此通过将其长度等于0来检查它是否确实包含任何元素。您应该这样做
if ($( '.adv-action[value*="Accept Offer"]').length!=0){
alert("Yes!")
alert($('.adv-action').val())
}
else{
alert("no")
alert($('.adv-action').val())
}
$('.adv action[value*=“Accept Offer”]')
返回一个数组,数组将始终等于true,因此通过将其长度等于0来检查它是否确实包含任何元素。我是个白痴!英雄联盟这就是为什么去学校学习基础知识会有帮助。。。我写了很棒的剧本,但当我碰到基本知识的东西时,我就绊倒了。。。它可以通过使用-$('.adv action[value*=“Accept Offer”]')来修复(一旦你说了数组)。val()通常我会意识到它应该与警报匹配,但在选择器中使用“value”会使我感到不适。。。谢谢很高兴这有帮助。。考虑投票吧,把它标记为正确答案。呵呵!这有助于其他人找到正确答案,也为我赢得了一些声誉!:)再次检查。。。如果我使用[name=]而不是[value*=]也返回数组?是的,返回数组的是$(elem)。。不管怎么说,我是个白痴!英雄联盟这就是为什么去学校学习基础知识会有帮助。。。我写了很棒的剧本,但当我碰到基本知识的东西时,我就绊倒了。。。它可以通过使用-$('.adv action[value*=“Accept Offer”]')来修复(一旦你说了数组)。val()通常我会意识到它应该与警报匹配,但在选择器中使用“value”会使我感到不适。。。谢谢很高兴这有帮助。。考虑投票吧,把它标记为正确答案。呵呵!这有助于其他人找到正确答案,也为我赢得了一些声誉!:)再次检查。。。如果我使用[name=]而不是[value*=]也返回数组?是的,返回数组的是$(elem)。。不管选择器是什么