这让我感到困惑......我在ajax页面上使用waitforkeyelements ...我有一个if语句,如果有一个值为“Accept Offer”的按钮,它只会弹出一个警告。不幸的是,当只有2个按钮具有“继续探索”和“投资”的值时,它会弹出警报。我有一种感觉它与真/假的东西有关,但我无法弄清楚为什么getElementById应该像这样使用,但我的选择器没有。如果我添加===something
,这可行,但我想知道为什么它不能像这样工作。
因此,当有2个按钮的值为“继续探索”和“投资”时,我会收到一条提示“是的!”然后是一个警告“投资”。当没有值为“Accept Offer”的按钮时,它不应该运行“else”吗?
function countit () {
if ($( '.adv-action[value*="Accept Offer"]')){
alert("Yes!")
alert($('.adv-action').val())
}
else{
alert("no")
alert($('.adv-action').val())
}
}
waitForKeyElements ('[value*="Continue Exploring"]', countit);
答案 0 :(得分:4)
你应该做
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来检查它是否实际包含任何元素。