[問題] 透過javascript 更改data-*值

看板Ajax作者 (shen)時間8年前 (2016/03/24 23:42), 編輯推噓3(3014)
留言17則, 5人參與, 最新討論串1/1
這是一個購物車的數量 <li class="cart" id='cart_div' data-cart="0"></li> 當我點選產品要加入購物車,想要透過js去變更data-cart的數值 我使用了_id('cart_div').dataset.cart可以抓到值 於是我想更改值 _id('cart_div').dataset.cart=2; 但畫面上數值並不會變動 網路上有人說用以下語法變更 _id('cart_div').getAttribute('data-cart','7'); 也沒反應 想請各位大大指點指點,感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.51.202 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1458834138.A.FCE.html

03/25 04:37, , 1F
setAttribute
03/25 04:37, 1F

03/25 09:37, , 2F
03/25 09:37, 2F

03/25 11:35, , 3F
樓上大大的連結我看不懂怎麼用哩><
03/25 11:35, 3F

03/25 15:10, , 4F
03/25 15:10, 4F

03/25 23:22, , 5F
你畫面是用什麼東西出來的?你是不是有用什麼東西去取值再
03/25 23:22, 5F

03/25 23:23, , 6F
弄到畫面上?單純document.getElementByID('cart_div').dat
03/25 23:23, 6F

03/25 23:23, , 7F
aset.cart=2;當然不會同時更改你利用那個值生出來的畫面,
03/25 23:23, 7F

03/25 23:23, , 8F
你可以打開瀏覽器開發者工具看,實際上data-cart是已經被改
03/25 23:23, 8F

03/25 23:24, , 9F
成2的,但你應該有利用這個值去對li做更動?
03/25 23:24, 9F

03/25 23:24, , 10F
你可以試試看:
03/25 23:24, 10F

03/25 23:24, , 11F
var $cartDiv = document.getElementByID('cart_div');
03/25 23:24, 11F

03/25 23:25, , 12F
$cartDiv.innerHtml = $cartDiv.dataset.cart;
03/25 23:25, 12F

03/25 23:25, , 13F
$cartDiv.dataset.cart=2;
03/25 23:25, 13F

03/25 23:25, , 14F
$cartDiv.innerHtml = $cartDiv.dataset.cart;//更新畫面
03/25 23:25, 14F

03/25 23:26, , 15F
數值這些東西是沒有在自動綁定的,你改了什麼就要重新去用
03/25 23:26, 15F

03/25 23:26, , 16F
同樣的流程再修改
03/25 23:26, 16F

03/26 12:38, , 17F
解決了!!謝謝各位大大們指導!
03/26 12:38, 17F
文章代碼(AID): #1Mz0hQ_E (Ajax)