一,动态创建表格添加信息(带删除按钮)
知识点:queryselectorAll 属性选择器,通过字符串标签的形式给innerHTML中添加标签,使用this来访问祖先元素
<body>
<div id="information">
<div>
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="button" value="添加" style="cursor: pointer;">
</div>
<table>
<tr>
<th>姓名</th>
<th>性别</th>
<th>爱好</th>
<th>电话号码</th>
<th>操作</th>
</tr>
</table>
</div>
<script>
var aInput = document.querySelectorAll("input");
aInput[aInput.length-1].onclick = function(){
for(var k = 0; k < aInput.length - 1;k++){
if(aInput[k].value == ""){
alert("输入不能为空");
return;
}
}
var tr = document.createElement("tr");
for(var i = 0; i < aInput.length;i++){
var d = document.createElement("td")
d.innerHTML = aInput[i].value;
if(i == aInput.length-1){
d.innerHTML = "<span>删除</span>"
}
tr.appendChild(d);
}
var first = document.querySelectorAll("tr")[1];
document.querySelector("table>tbody").insertBefore(tr,first);
var aPan = document.querySelectorAll("span");
for(var j = 0 ; j < aPan.length;j++){
aPan[j].onclick = function(){
this.parentNode.parentNode.remove();
}
}
clear();
}
function clear(){
for(var i = 0; i < aInput.length - 1;i++){
aInput[i].value = "";
}
}
</script>
</body>
二、图片切换效果
知识点:1.排他思想 (通过循环删除所有属性),循环完毕给自己添加属性
2.通过设置计数变量的方式判断你当前切换的图片
3.className添加类名 classname = “类名”,获取的标签.classlist.add(“类名”) 删除类名:classname = “”;获取的标签名.classlist.remove(“类名”)
<body>
<div id="banner">
<p></p>
<div>
<span class="left"><</span>
<span class="right">></span>
<ul>
<li><img src="images/basketball1.jfif" alt=""></li>
<li><img src="images/basketball2.jfif" alt=""></li>
<li><img src="images/basketball3.jfif" alt=""></li>
<li><img src="images/basketball4.jfif" alt=""></li>
</ul>
</div>
<p></p>
</div>
<script>
var aP = document.querySelectorAll("p");
var aL = document.querySelectorAll("li");
var left = document.querySelectorAll("span")[0];
var right = document.querySelectorAll("span")[1];
var arr1 = ["最美上篮照片","最美篮筐","最美篮球拖拽","最美篮球夕阳"];
var count = 0;
aP[0].innerHTML = (count+1)+"/4";
aP[1].innerHTML = arr1[count];
aL[count].className = "gb";
right.onclick = function(){
count++;
if(count == 4){
count = 0;
}
aP[0].innerHTML = (count+1)+"/4";
aP[1].innerHTML = arr1[count];
for(var i = 0; i < aL.length;i++){
aL[i].className = ""
}
aL[count].className = "gb";
}
left.onclick = function(){
count--;
if(count == -1){
count = 3
}
aP[0].innerHTML = (count+1)+"/4";
aP[1].innerHTML = arr1[count];
for(var i = 0; i < aL.length;i++){
aL[i].className = ""
}
aL[count].className = "gb";
}
</script>
</body>
三、选项卡的切换
知识点:设置自定义属性,在循环绑定事件,无法获取对应的下标值,所以在事件外部给每个按钮设置一个自定义属性,在事件内部通过this来获取该属性,为点击按钮和页面添加属性
<body>
<div id="banner">
<div>
<span class="gb">按钮1</span>
<span>按钮2</span>
<span>按钮3</span>
<span>按钮4</span>
</div>
<ul>
<li class="cx">第一张图</li>
<li>第二张图</li>
<li>第三张图</li>
<li>第四张图</li>
</ul>
</div>
<script>
</body>
var aSp = document.querySelectorAll("span");
var aLi = document.querySelectorAll("li");
for(var i = 0; i < aSp.length;i++){
aSp[i].setAttribute("index",i);
aSp[i].onclick = function(){
var index = this.getAttribute("index");
for(var j = 0; j < aSp.length;j++){
aSp[j].className = "";
aLi[j].className = "";
}
this.className = "gb";
aLi[index].className = "cx";
}
}
</script>
</body>