js中,使用<li>的自定义属性传值

今天拿到前端提供的页面,前端使用 <li> 标签实现滚动选择框的效果。

关于选择部分,后台主要传输 数据类型包涵 id 与 name 。id 为处理业务逻辑的依据,name 主要是用来显示。

由于 id 字段的数据包含非数字的字符,不能用 value 属性绑定(value属性只能绑定数字)。固使用 自定义属性绑定 id。

使用setAttribute方法绑定id值

 1 function getInfoList(){
 2         var _url = "getInfoList",
 3          _postData = {
 4         };
 5         common.ajax(_url, _postData, function (data) {
 6             if (data.status=='SUCCESS') {
 7             var list=data.result;
 8             var menu=document.getElementById("menu");
 9             for(var i=0;i<list.length;i++){
10                 var item=list[i];
11                 var li=document.createElement("li");
12                 var node=document.createTextNode(item.name);
13                 li.setAttribute("id", item.id);
14                 li.appendChild(node);
15                 menu.appendChild(li);
16             }
17             } else {
18                 common.tips("查询信息异常");
19             }
20         });
21     }

使用getAttribute拿到属性的值

 1 function choosePost(){
 3         var choose = document.getElementsByClassName("swiper-slide swiper-slide-active")[0];
 4         var _url = "getInfo",
 5             _postData = {
 6                 id:choose.getAttribute("id")
 7             };
 8             common.ajax(_url, _postData, function (data) {
 9                 if (data.status=='SUCCESS') {
10                 } else {
11                     common.tips("查询信息异常");
12                 }
13             });
14     }

 

posted @ 2018-08-30 10:30  不爱熬夜的猫  阅读(975)  评论(0编辑  收藏  举报