wild84 2017-11-27 09:58 采纳率: 81.8%
浏览 897
已采纳

jquery选择器有时效性吗?

我的需求是"点击某行,这个行前面的复选框选中"

$("tbody",$table).on("click","tr",function (event) {
        $(this).toggleClass("active");
        var item=_table.row($(this).closest("tr")).data();
        if($(this).hasClass("active")){
            alert(1);
            $table.find("input[value='"+item.id+"']").attr("checked",true);
        }else{
            alert(2);
            $table.find("input[value='"+item.id+"']").attr("checked",false);
        }
    });

这段代码只生效第一次,第二次就没有反映了;
加了alert();
alert语句都能正常弹出,但是复选框的状态就是没有改变.

  • 写回答

4条回答 默认 最新

  • #麻辣小龙虾# 2017-11-27 14:01
    关注

    你这个问题我有遇到过,你仔细看下jq文档attr()和prop()的区别,其实也就是属性和特性的区别。,而prop是用于设置属性用的,表单元素select或者checkbox radio、设置checked的值得时候建议使用prop设置,不然你会看到,虽然使用attr移出或者设置check属性,但是我们眼镜有时后似乎看不到变化,但是表单在提交数据的时候也会将数据提交到务器服(),如果是用prop设置的就不会出现这样的情况,关于属性和特性的区别,建议你看下

    http://bbs.csdn.net/topics/392140605

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵