【发布时间】:2016-03-04 14:59:36
【问题描述】:
我有一些 PHP 和 HTML:
<div class="bought">
<div class="row">
<div class="col">
<div class="body">
<?php if(Request::is('user/*')) { ?>
<div>Did you buy this for <?php echo $user->username ?>?</div>
<div class="options">
<a class="boughtyes cbutton whiteonpurple">Yes</a>
<a class="boughtno cbutton whiteonpurple">No</a>
</div>
<?php } else { ?>
<div>Bought?</div>
<p>Click here to send hinters a message to let them know.<br />And yes, it can still be a surprise!</p>
<?php } ?>
</div>
</div>
</div>
</div>
还有一些 jQuery,它应该根据选择简单地弹出一个 JavaScript 窗口,而不是或是:
$("#view-hint .img .bought .boughtyes").click(function() {
window.alert("yes");
});
$("#view-hint .img .bought .boughtno").click(function() {
window.alert("no");
});
但无论我点击是或否按钮,它都会返回“是”:
我做错了什么?
编辑:
【问题讨论】:
-
尝试将您的 jquery 选择器缩短为仅元素的类,即
$('.boughtyes')和$('.boughtno') -
您确定“是”按钮不会与 CSS 中的“否”按钮重叠吗?而不是
window.alert("yes");将window.alert($(this).attr('class'));放入两个clicks 以查看您实际单击的是哪个按钮。 -
好的,您是否使用您的开发工具检查了两个按钮的框不会以某种方式相互重叠(即使您单击第二个按钮也会触发第一个按钮的点击事件)?另一个可能有用的测试是尝试单击按钮周围的其他位置,看看会发生什么。
-
是的,但他们都有相同的课程
.buttonyes!你的.buttonno在哪里?!!!! -
顺便说一句,
boughtyes和boughtno都是 "bought" 按钮的类型,所以bought类是有意义的,但是是和否按钮是特定按钮,而不是按钮的类型,因此class="cbutton" id="boughtyes"会更有意义。
标签: javascript jquery html