js的data-語法出現 undefined因為icon?

我現在遇到的問題是

 <button class="n2 remove" data-id="<? echo $row['id'];?>">刪除</button>

你的按紐只能夠是文字 如果把它變成 delete_forever (google的icon API)

 <button class="remove" data-id="<? echo $row['id'];?>"> <i class="timeline_icon">delete_forever</i></button>

 $(".remove").click(function(e){
                            let id = e.target.dataset.id;
                            alert('刪除'+id+'嗎?');
                            
                        });
                    

他就會undefined......完全失效.....
這是怎麼回事啊?... 這怎麼解?
傻眼
我想說怎麼會一直undefined
找老半天原來是這個原因

阅读 3.4k
3 个回答

var id = $(this).attr("data-id"); 试试

e.target 返回点击的元素,这里有可能是button里面的i元素,
你直接用 this 就好了

let id = $(this).data('id');// Tip: 如果需要兼容,请将let换成var

什么浏览器下?dataset的值打印出来是什么?
你在这里dataset 是Dom 对象而非jquery对象的属性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏