亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

前端大神,我不懂這兩個js有什么不同?

前端大神,我不懂這兩個js有什么不同?

這是第一個window.onload=function(){(function createTag(){//動態創建b標簽 var label; var li=document.getElementById("checkList").getElementsByTagName("li"); for(var i=0;i<li.length;i++){ label=li[i].getElementsByTagName("label"); var bTag=document.createElement("b"); li[i].insertBefore(bTag,label[0]); } })()}</script>----------------------------------------------------這是第二個window.onload=function(){var li=document.getElementById("checkList").getElementsByTagName("li");(function createTag(){//動態創建b標簽 var label; for(var i=0;i<li.length;i++){ label=li[i].getElementsByTagName("label"); var bTag=document.createElement("b"); li[i].insertBefore(bTag,label[0]); } })()}</script>--------------------------------第一個可以創建b標簽,第二個不行,為什么呢?第二個拿出來定義是因為我后面函數還得用。。。
查看完整描述

1 回答

?
stone310

TA貢獻361條經驗 獲得超191個贊

這里看這個li變量放哪里都沒有問題的,自己測試了一遍可以添加啊,你的JS還有沒有其他內容

<!doctype>
<html>
<head>
</head>
<body>
<div?id='checkList'>
????<li>
????????<label>111111</label>
????</li>
????<li>
????????<label>222222</label>
????</li>
????<li>
????????<label>333333</label>
????</li>
</div>
</body>
<script?type='text/javascript'>
????window.onload?=?function?()?{
????????var?li?=?document.getElementById("checkList").getElementsByTagName("li");
????????(function?createTag()?{//動態創建b標簽
????????????var?label;
????????????for?(var?i?=?0;?i?<?li.length;?i++)?{
????????????????label?=?li[i].getElementsByTagName("label");
????????????????var?bTag?=?document.createElement("b");
????????????????li[i].insertBefore(bTag,?label[0]);
????????????}
????????})()
????}
</script>
</html>


查看完整回答
反對 回復 2016-10-03
  • 舞動的指尖
    舞動的指尖
    <script> window.onload=function(){ (function createTag(){//動態創建b標簽 var label; var li=document.getElementById("checkList").getElementsByTagName("li"); for(var i=0;i<li.length;i++){ label=li[i].getElementsByTagName("label"); var bTag=document.createElement("b"); li[i].insertBefore(bTag,label[0]); } })() (function checklist(){ var li=document.getElementById("checkList").getElementsByTagName("li"); for(var i=0;i<li.length;i++){ li[i].onclick=function(){ if(this.className=="selected"){ this.className=null; }else{ this.className="selected" } } } })() } </script>
  • 舞動的指尖
    舞動的指尖
    <div class="typeList"> <form action="#" method="post" name="typeList" > <ul id="checkList"> <li class="selected"><input type="checkbox" name="typeList" id="aaa" /><label for="aaa"></label>aaa</li> <li><input type="checkbox" name="typeList" id="bbb" /><label for="bbb"></label>bbb</li> <li><input type="checkbox" name="typeList" id="ccc" /><label for="ccc"></label>ccc</li> <li><input type="checkbox" name="typeList" id="ddd" /><label for="ddd"></label>ddd</li> <li><input type="checkbox" name="typeList" id="eee" /><label for="eee"></label>eee</li> <li><input type="checkbox" name="typeList" id="fff" /><label for="fff"></label>fff</li> <li><input type="checkbox" name="typeList" id="ggg" /><label for="ggg"></label>ggg</li> <li><input type="checkbox" name="typeList" id="hhh" /><label for="hhh"></label>hhh</li> <li><input type="checkbox" name="typeList" id="iii" /><label for="iii"></label>iii</li> </ul> </form> </div>
  • stone310
    stone310
    用了你發的代碼,<b>都能創建,跟變量放在內部很放在外部沒有關系; 有個小問題,你這里點擊<li>,class并不會改變,當你寫多個(function(){})();?自執行函數時,一定記得在每一個的最后結尾處加上“;”,否則系統會識別不了,然后報錯,后續的就無法執行了;
  • 1 回答
  • 0 關注
  • 1370 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號