1.复选框 实现 全选 反选 不选


小结练习 - 图1

  1. <button id="btn">全选</button>
  2. <button id="btn2">不选</button>
  3. <button id="reverse">反选</button>
  4. <div>
  5. <input type="checkbox">足球
  6. <input type="checkbox">蓝球
  7. <input type="checkbox">LOL
  8. <input type="checkbox">乒乓球
  9. </div>
  1. var btn = document.getElementById("btn")
  2. var btn2 = document.getElementById("btn2")
  3. var btn3 = document.getElementById("reverse")
  4. var inputs = document.getElementsByTagName("input")
  5. // 1.对 btn 执行点击事件
  6. btn.onclick = function(){
  7. // 2. 将所有的 input 的 checked 属性设置为 true
  8. for(var i=0;i<inputs.length;i++){
  9. inputs[i].checked = true;
  10. }
  11. }
  12. btn2.onclick = function(){
  13. for(var i=0;i<inputs.length;i++){
  14. inputs[i].checked = false;
  15. }
  16. }
  17. btn3.onclick = function(){
  18. for(var i=0;i<inputs.length;i++){
  19. inputs[i].checked = (inputs[i].checked)?false:true;
  20. }
  21. }

2. 隔行变色


小结练习 - 图2

  1. <ul>
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. <li>5</li>
  7. </ul>
  1. var lis = document.getElementsByTagName("li")
  2. for(var i=0;i<lis.length;i++){
  3. if(i%2==0){
  4. lis[i].style.backgroundColor = "pink"
  5. }else{
  6. lis[i].style.backgroundColor = "skyblue"
  7. }
  8. }

3. 切换显示隐藏

  1. <div style="display: block;">
  2. hello
  3. </div>
  4. <button id="btn">toggle</button>
  1. var div = document.getElementsByTagName("div")[0]
  2. var btn = document.getElementById("btn")
  3. btn.onclick = function(){
  4. var d = div.style.display
  5. div.style.display =(d=="block")?"none":"block";
  6. }

4. 输入框字符限制

  1. <p>还可以输入<em id="em" style="color:red">0</em>/30</p>
  2. <textarea id="txt" cols="30" rows="10"></textarea>
  1. var txt = document.getElementById("txt")
  2. var em = document.getElementById("em")
  3. txt.onkeydown = function(){
  4. var length = this.value.length;
  5. if(length<=30){
  6. em.innerHTML = 30 - this.value.length;
  7. }else{
  8. alert("最多只能输入30个字符")
  9. }
  10. }

5. 动态添加列表 ( todoList )

  1. <input type="text" id="txt">
  2. <ul id="app">
  3. </ul>
  1. var arr = []
  2. var txt = document.getElementById("txt")
  3. var app = document.getElementById("app")
  4. txt.onkeydown = function(event){
  5. if(event.keyCode == 13){
  6. /* indexOf arr.indexOf(value) 获取数组的下标 没有的返回-1 */
  7. if(arr.indexOf(this.value) == -1 && this.value!=""){
  8. arr.push(this.value)
  9. var li = document.createElement("li")
  10. li.innerHTML = this.value
  11. app.append(li)
  12. }
  13. console.log(arr);
  14. }
  15. }