js checkbox.checked=true在document.body.appendChild(checkbox)前与后赋值

如果想改变元素的视觉效果(checkbox.checked=true会打钩),请在把元素添加到页面上再为其赋值,否则赋值无效。
看这段代码,18行与21行,如果想在元素还没有添加到页面上时设置其为选中状态,不能做到。写到21行就可以。如果你知道为什么请不吝赐教。
 1  < html >
 2 
 3  < head >
 4  < meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
 5  < title > 新建网页 1 </ title >
 6  </ head >
 7 
 8  < body >
 9 
10  < input  type ="button"  value ="clickme"  onclick ="F()" >
11  </ body >
12  < script  language ="javascript" >
13  <!--
14  function  F(){
15       var  div  =  document.createElement('div')
16       var  input  =  document.createElement('input')
17      input.type  =  'checkbox'
18      input.checked  =   true
19      div.appendChild(input)
20      document.body.appendChild(input)
21       // input.checked = true
22  }
23  // -->
24  </ script >
25  </ html >
26 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
// 树状选择器 //结构 var json = { '常州饲料厂': { '生产饲料部': null, '物流部':null }, '扬州饲料厂': { '生产饲料部': null, '物流部':null }, '无锡饲料厂': { '生产饲料部': null, '物流部':null }, '泰州饲料厂': { '生产饲料部': null, '物流部':null }, '苏州饲料厂': { '生产饲料部': null, '物流部':null }, }; //这里生成DOM function generate(json, par) { for (var attr in json) { var ele = document.createElement('li'); if (!json[attr]) ele.innerHTML = ' <input type="checkbox"></input>' + attr; else { ele.innerHTML = '<span><span class="switch-open" onclick="toggle(this)"></span><input type="checkbox" onclick="checkChange(this)"></input>' + attr + '</span>'; var nextpar = document.createElement('ul'); ele.appendChild(nextpar); generate(json[attr], nextpar); } par.appendChild(ele); } } generate(json, document.getElementById('container')); //处理展开和收起 function toggle(eve) { var par = eve.parentNode.nextElementSibling; if (par.style.display == 'none') { par.style.display = 'block'; eve.className = 'switch-open'; } else { par.style.display = 'none'; eve.className = 'switch-close'; } } //处理全部勾选和全部不选 function checkChange(eve) { var oul = eve.parentNode.nextElementSibling; if (eve.checked) { for (var i = 0; i < oul.querySelectorAll('input').length; i++) { oul.querySelectorAll('input')[i].checked = true; } } else { for (var i = 0; i < oul.querySelectorAll('input').length; i++) { oul.querySelectorAll('input')[i].checked = false; } } }
最新发布
07-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值