需求
开发面包屑标签功能,点击面包屑的其中一个标签需要跳转到对应目录。
实现
HTML
1 2 3
| <div class="panel-heading" id="show"> <ul class="breadcrumb" id="breadcrumbs"></ul> </div>
|
JavaScript
创建一个函数,后面和点击事件绑定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| function createLi(id, jQueryId) { $(jQueryId).html(''); $.ajax({ url: "getParentNodes", dataType: "json", traditional: true, method: "post", data: { "id": $('#treeNodeId').val() }, success: function (data) { for (let i in data.rows) { let ele = document.createElement('li'); ele.innerHTML = ['<a id="breadLink" href="#">' + data.rows[i].fileName + '</a>'].join(''); ele.onclick = function () { $('#treeNodeId').val(data.rows[i].id); $("#table-detail").bootstrapTable("refresh"); createLi('breadcrumbs', '#breadcrumbs'); } document.getElementById(id).appendChild(ele); } }, error: function () { alert('请求失败'); } }); }
|
$(jQueryId).html('');
最开始先清空所有li
标签;
- 在本例子中,通过
ajax
查询数据;
- 拿到数据后,遍历所有数据,通过
let ele = document.createElement('li');
为每一条数据创建一个li
对象,通过ele.innerHTML = ['<a id="breadLink" href="#">' + data.rows[i].fileName + '</a>'].join('');
将li
对象赋予链接属性,通过ele.onclick
给每一个li
绑定点击事件,最后通过document.getElementById(id).appendChild(ele);
将一个li
标签动态添加进去。