Javascript 使li选择复选框

Javascript 使li选择复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有一个脚本,它在单击li的span时选中一个复选框。我的问题是li的宽度比span长,因此li的一部分没有选中复选框 $('ul.myclass li span')。单击(函数(){ var$cb=$(this.parent().find(“:checkbox”); 如果(!$cb.prop(“选中”)){ $cb.prop(“选中”,正确); }否则{ $cb.prop(“已检查”,错误); } }); .myclass li span{ 左边距:5px; } 李{ 背景:红色; }

我有一个脚本,它在单击
li
span
时选中一个复选框。我的问题是
li
的宽度比
span
长,因此
li
的一部分没有选中复选框

$('ul.myclass li span')。单击(函数(){
var$cb=$(this.parent().find(“:checkbox”);
如果(!$cb.prop(“选中”)){
$cb.prop(“选中”,正确);
}否则{
$cb.prop(“已检查”,错误);
}
});
.myclass li span{
左边距:5px;
}
李{
背景:红色;
}

  • 一些文本
  • 一些文本
  • 一些文本

使用适当的HTML
元素将文本与
关联:

  • 一些文本
  • 一些文本
  • 一些文本

显示:块(用于
元素的样式)填充其祖先
  • ,所需的行为是自动的,不需要JavaScript。

    如果我答对了问题,您可以这样做

    $('ul.myclass li').click( function() {
       var $cb = $(this).find(":checkbox");
        if (!$cb.prop("checked")) {
            $cb.prop("checked", true);
        } else {
            $cb.prop("checked", false);
        }
     });
    

    假设我必须在
    输入后添加标签
    。。。它仍然不需要Javascript吗?要使整个
  • 都可以单击,在需要Javascript的复选框(在HTML中)后面加上
    。如果您可以将复选框保留在
    中,但在使用CSS之前或之后定位它,那么它仍然可以使用上述方法。嗯。。。我可以在
    li
    中有两个
    标签吗?可以,只要它们不是嵌套的;但是,与其在评论中进一步提问,为什么不编辑你的问题,以包括期望的最终结果,或者你工作的要求?如果HTML必须以特定的顺序或结构显示,请显示。如果是为了达到特定的视觉效果或美学效果,那么(使用图像)展示它。目前,虽然我可以在你提问时回答你的每一个问题,但在不知道最终结果的情况下,我不确定我是否给了你最好的建议。
    
    $('ul.myclass li').click( function() {
       var $cb = $(this).find(":checkbox");
        if (!$cb.prop("checked")) {
            $cb.prop("checked", true);
        } else {
            $cb.prop("checked", false);
        }
     });