業務需求:
在這樣一個表格里,通過點擊“確認”按鈕,收集該行數據,向后台發送請求
解決辦法
以該button為錨獲取父節點,再由父節點獲取各個元素的值
獲取子元素又有很多辦法,包括通過下標獲取子元素,通過標簽名獲取,通過class獲取等等
var root=button.parentNode.parentNode;
var name=root.getElementsByClassName("name").item(0).value
var price=root.getElementsByClassName("price").item(0).value
var nums=root.getElementsByClassName("nums").item(0).value
為每個元素生成唯一的id,從每個元素的id獲取其值
后記
其實可以把每行寫成一個form表單,這樣的好處是不用手動再前端獲取各個字段的值,缺點是主流瀏覽器不支持table與form嵌套,也就微軟家的Edge和IE支持了