要求:編寫乙個js函式將列表子元素的順序反轉。
id="target">
1li>
2li>
3li>
4li>
ul>
var ul=document.getelementbyid("target");
var lists=ul.getelementsbytagname("li");
varlen=lists.length;
while(len--);
缺點:每次迴圈都會影響dom生成,會損耗效能。
優化:儘量減少操作dom樹的次數, 從而減少重排重繪。
如果父元素已經在頁面上了,要新增多個平級子元素,則應該使用文件片段。
文件片段 是記憶體中臨時儲存多個子元素的虛擬父元素。
只要向網頁中同時新增多個平級子元素時,都可用文件片段。
var ul=document.getelementbyid("target");
var lists=ul.getelementsbytagname("li");
var fragment=document.createdocumentfragment();
//建立文件片段
for(var i=lists.length-1;i>=0;i--);
//將文件片段整體新增到dom樹
var ul=document.getelementbyid("target");
var lists=ul.getelementsbytagname("li");
//類陣列物件
var children=array.prototype.slice.call(lists,0);
//將類陣列物件複製為陣列,並選取指定位置的剩餘元素
varlen=children.length;
var str="";
children.reverse();
for(var i=0;iul.innerhtml=str;
優點:效能較好。
var ul=document.getelementbyid("target");
var lists=ul.getelementsbytagname("li");
var str="";
for(var i=lists.length-1;i>=0;i--);
ul.innerhtml=str;
**優點:**innerhtml效率最優。 python 將列表裡的字典元素合併為乙個字典例項
我就廢話不多說了,大家還是直接看 吧 def list dict list data dict data for i in list data key,i value,i.values dic程式設計客棧t data key value return dict data if name main l...
編寫乙個mysleep函式
在這之前,我寫了有關於訊號的相關知識,我在裡面講到了兩個函式,分別是alarm和pause兩個函式,這兩個函式是幹嘛的呢,我在這裡再介紹一遍。呼叫alarm 函式可以設定乙個鬧鐘 也就是告訴核心在 seconds 秒之後給當前程序發 sigalrm 訊號,該訊號的預設處理動作是終止當前程序。這個函式...
列表含有子列表展開成乙個列表
元素都為列表 lista a b c d 展開成lista1 a b c d 命令 lista1 sum lista,因為sum第二個引數的預設值是0,0不能和列表相加,所以需要加入引數 元素包含str,列表等型別 此時sum方法就不行了。listb a b c d 展開成listb1 a b c ...