我正在使用此应用,您可以将API中的人员添加到应用中的列表中。每次添加人员时,都会创建一个新的Bootstrap卡。我试图弄清楚如何点击按钮"观看视频流"在某些情况下被禁用。如果用户是" LIVE"然后将类.popover_status_on
添加到父元素。如果用户是" OFFLINE"然后添加班级.popover_status_off
。
我认为这将是一个快速修复问题,但我似乎比我预期的更麻烦。现在,这就是我正在查看的代码,我认为它不会工作,我绝对认为它会有:
if($('.card > .card-body > h2').hasClass('popover_status_off')) {
$('.card > .card-body > button').prop('disabled', true);
} else {
return;
}
我意识到当它被禁用时,它会禁用所有按钮,甚至是" LIVE"那些。所以我试图弄清楚是否有一种方法没有通过class / id指定我可以让它改变按钮的状态。我想也许正在使用"这个"会工作,但我不确定哪些代码可以用于此。
感谢您的反馈。
答案 0 :(得分:2)
问题是在if语句中,jQuery选择器不限于THAT卡,它会查找所有卡中的所有按钮。
您的代码字面上说的是什么:
If there is card containing an h2 with class popover_status_off
Then find all cards that have buttons and disable them
Else do nothing
试试这个:
$('.card h2.popover_status_off').parents('.card').find('button').prop('disabled', true);
您不需要if语句。 jQuery的强大功能之一是,您可以在一个语句中识别元素并进行更改。