用户确认框:var bool=confirm("提示文字");
true->确认 false->取消
开关门案例

选项卡案例

摇号功能案例

国家联动案例
<!DOCTYPE HTML>
<html>
<head>
<title>读取并修改元素的内容</title>
<meta charset="utf-8" />
<style>
select {
width: 100px;
height: 85px;
}
div {
display: inline-block;
width: 50px
}
</style>
</head>
<body>
<select size="5" multiple>
<option>Argentina</option>
<option>Brazil</option>
<option>Canada</option>
<option>Chile</option>
<option>China</option>
<option>Cuba</option>
<option>Denmark</option>
<option>Egypt</option>
<option>France</option>
<option>Greece</option>
<option>Spain</option>
</select>
<div>
<button>>></button>
<button>></button>
<button><</button>
<button><<</button>
</div>
<select id="sel" size="5" multiple>
</select>
<script type="text/javascript">
var larr = [];
var larr1 = [];
var unsel = document.querySelectorAll("select")[0];
var sel = document.querySelectorAll("select")[1];
larr = unsel.innerHTML.trim().slice(8, -9).split(/<\/option>\s+<option>/);
var btns = document.querySelectorAll("button");
btns.forEach(btns => {
btns.onclick = function () {
switch (this.innerText) {
case ">>":
larr1 = larr1.concat(larr);
larr = [];
console.log(larr1);
console.log(larr);
break;
case "<<":
larr = larr.concat(larr1);
larr1 = [];
break;
case ">":
var opts = unsel.options;
for (var i = opts.length - 1; i >= 0; i--) {
if (opts[i].selected) {
larr1 = larr1.concat(larr.splice(i, 1))
}
}
break;
case "<":
var opts = sel.options;
for (var i = opts.length - 1; i >= 0; i--) {
if (opts[i].selected) {
larr = larr.concat(larr1.splice(i, 1))
}
}
break;
}
larr.sort();
larr1.sort();
render();
}
})
function render() {
if (larr.length == 0) {
unsel.innerHTML = ""
} else {
unsel.innerHTML = "<option>" + larr.join("</option><option>") + "</option>"
}
if (larr1.length == 0) {
sel.innerHTML = ""
} else {
sel.innerHTML = "<option>" + larr1.join("</option><option>") + "</option>"
}
}
</script>
</body>
</html>

二级联动案例
<!DOCTYPE HTML>
<html>
<head>
<title>二级联动列表</title>
<meta charset="utf-8" />
<style>
.hide {
display: none;
}
</style>
</head>
<body>
<select name="provs">
<option>—请选择—</option>
<option>北京市</option>
<option>天津市</option>
<option>河北省</option>
</select>
<select name="cities" class="hide">
</select>
<script>
var cities = [
[],
[{ "name": '东城区', "value": 101 },
{ "name": '西城区', "value": 102 },
{ "name": '海淀区', "value": 103 },
{ "name": '朝阳区', "value": 104 }],
[{ "name": '河东区', "value": 201 },
{ "name": '河西区', "value": 202 },
{ "name": '南开区', "value": 203 }],
[{ "name": '石家庄市', "value": 301 },
{ "name": '廊坊市', "value": 302 },
{ "name": '保定市', "value": 303 },
{ "name": '唐山市', "value": 304 },
{ "name": '秦皇岛市', "value": 305 }]
];
var sels = document.querySelectorAll("select");
sels[0].onchange=function () {
var i = this.selectedIndex;
if (i > 0) {
sels[1].className = "";
sels[1].innerHTML = "";
cities[i].forEach(obj => {
sels[1].add(new Option(obj.name, obj.value));
})
} else {
sels[1].className = "hide";
sels[1].innerHTML = "";
}
}
</script>
</body>
</html>

JSON渲染表格案例
<!DOCTYPE HTML>
<html>
<head>
<title>动态操作表格</title>
<meta charset="utf-8" />
<style>
table {
width: 1200px;
border-collapse: collapse;
text-align: center;
margin: 0 auto;
table-layout: fixed;
}
td {
border: 1px solid #ccc
}
thead td {
font-weight: bold;
}
</style>
</head>
<body>
<div id="data1"></div>
<script>
var data = [
{ "id": 1001, "name": '可口可乐', "price": 2.5, "count": 3000 },
{ "id": 1003, "name": '百事可乐', "price": 2.5, "count": 5000 },
{ "id": 1011, "name": '非常可乐', "price": 2.3, "count": 1000 },
{ "id": 1011, "name": '天府可乐', "price": 2.3, "count": 1000 },
{ "id": 1011, "name": '地府可乐', "price": 2.3, "count": 1000 },
{ "id": 1011, "name": '阳间可乐', "price": 2.3, "count": 1000 },
{ "id": 1011, "name": '阴间可乐', "price": 2.3, "count": 1000 },
];
var arr = ["序号", "名称", "单价", "数量", "操作"]
var table = document.createElement("table");
var tr = document.createElement("tr");
arr.forEach(str => {
var td = document.createElement("td");
td.innerHTML = str;
tr.appendChild(td);
})
table.appendChild(tr)
data.forEach(obj => {
var tr = document.createElement("tr");
for (var i in obj) {
var td = document.createElement("td");
td.innerHTML = obj[i];
tr.appendChild(td);
}
var td = document.createElement("td");
td.innerHTML = "<button onclick='del(this)'>x</button>";
tr.appendChild(td);
table.appendChild(tr)
})
data1.appendChild(table);
function del(btn) {
var bool = confirm(`确定要删除${btn.parentNode.parentNode.firstElementChild.nextElementSibling.innerHTML}吗`)
if (bool) {
btn.parentNode.parentNode.remove();
}
}
</script>
</body>
</html>

JSON数据多级联动层级不明确选中递归案例
<!DOCTYPE HTML>
<html>
<head>
<title>联动菜单</title>
<meta charset="utf-8" />
</head>
<body>
<div id="category">
</div>
<script>
var categories = [
{
"id": 10, "name": '男装', "children": [
{ "id": 101, "name": '正装' },
{ "id": 102, "name": 'T恤' },
{ "id": 103, "name": '裤衩' }
]
},
{
"id": 20, "name": '女装', "children": [
{ "id": 201, "name": '短裙' },
{ "id": 202, "name": '连衣裙' },
{
"id": 203, "name": '裤子', "children": [
{ "id": 2031, "name": '长裤' },
{ "id": 2031, "name": '九分裤' },
{ "id": 2031, "name": '七分裤' }
]
},
]
},
{
"id": 30, "name": '童装', "children": [
{ "id": 301, "name": '帽子' },
{
"id": 302, "name": '套装', "children": [
{ "id": 3021, "name": "0-3岁" },
{
"id": 3021, "name": "3-6岁", "children": [
{ "id": 101, "name": '正装' },
{ "id": 102, "name": 'T恤' },
{ "id": 103, "name": '裤衩' }
]
},
{ "id": 3021, "name": "6-9岁" },
{ "id": 3021, "name": "9-12岁" }
]
},
{ "id": 303, "name": '手套' }
]
}
];
function f1(arr) {
var select = document.createElement("select");
select.add(new Option("-请选择-", -1))
arr.forEach(obj => {
select.add(new Option(obj.name, obj.id));
})
select.onchange = function () {
while (this.nextElementSibling) {
this.nextElementSibling.remove();
}
var i = this.selectedIndex;
if (i > 0) {
if (arr[i - 1].children) {
f1(arr[i - 1].children)
}
}
}
category.appendChild(select);
}
f1(categories)
</script>
</body>
</html>
