张浩BIT 2016-09-25 05:25 采纳率: 66.7%
浏览 1921
已采纳

jQuery 用html方法修改元素内容后,重新选中元素data原本藏值无法找到

创建元素时,用data方法藏值

                            var book = books[i];
                            var li_str = getNoteBookLiStr(book.cn_notebook_name);
                            var $li = $(li_str);
                            //将bookId藏在li中
                            $li.data("bookId",book.cn_notebook_id);
                            $("#book_list").append($li);

用html方法修改元素内容

                            var li_str = '<li class="online"><a>'+
                                    '<i class="fa fa-book" title="online" rel="tooltip-bottom">'+
                                    '</i>'+newName+'</a></li>';
                            $checked_li.html(li_str)

重新选中后再调用data发现藏值找不到了undefined

            var noteBookId = $("#book_list li a.checked").parent().data("bookId");
  • 写回答

2条回答

  • Go 旅城通票 2016-09-25 09:16
    关注

    没看到你第一段和第二段什么关系。。如使用html更新容器元素会导致你原来的li元素被移除dom元素,你再获取新元素肯定没有data换成的内容了。

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

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?