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

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

創建元素節點,設置其屬性并附加元素?

創建元素節點,設置其屬性并附加元素?

慕田峪7331174 2021-06-21 16:05:29
我被指示為鏈接元素創建一個元素節點,并將其rel屬性設置為“styleSheet”,將其id屬性設置為“fancySheet”,并將其href屬性設置為“na_style_num.css”(其中 num 是 styleNum 的值多變的)。然后它要我將fancySheet 樣式元素附加到文檔頭。我覺得好像我真的很近或很遠。這是我沒有運氣的嘗試:na_styler.js:window.addEventListener("load", setStyles);function setStyles() {   var styleNum = randInt(5);   var styleNum = document.createElement("link");   styleNum.setAttribute("rel", "stylesheet");   styleNum.setAttribute("id", "fancySheet");   styleNum.setAttribute("href", "na_style_" + styleNum + .css);   document.head.appendChild(styleNum);}我收到了一些錯誤,但問題是它以我無法真正理解的形式編寫。例如:" 回溯(最近一次調用):文件“nt-test-3ed2ebdf.py”,第 14 行,在 assert(link.get_attribute('id') == 'fancySheet') 中,'該id屬性應設置為 "fancySheet" ". 實際:"' + str(link.get_attribute('id')) + '"' AssertionError: 該id屬性應設置為 "fancySheet"。實際:"" "
查看完整描述

3 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

您對兩個變量使用了相同的名稱。因為它們是用聲明的,var所以它不會拋出錯誤。第二個將覆蓋第一個。


只需更改變量之一的名稱


也包.css進去""


window.addEventListener("load", setStyles);


function setStyles() {

   var styleNum = randInt(5);

   var styleElm = document.createElement("link");

   styleElm.setAttribute("rel", "stylesheet");

   styleElm.setAttribute("id", "fancySheet");

   styleElm.setAttribute("href", "na_style_" + styleNum + ".css");

   document.head.appendChild(styleElm);

}


查看完整回答
反對 回復 2021-06-24
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

行內用引號styleNum.setAttribute("href", "na_style_" + styleNum + .css);括.css起來,因為它是一個字符串而不是變量名。


styleNum.setAttribute("href", "na_style_" + styleNum + '.css');


window.addEventListener("load", setStyles);


function setStyles() {

   var styleNum = randInt(5);

   var styleEle = document.createElement("link");

   styleEle.setAttribute("rel", "stylesheet");

   styleEle.setAttribute("id", "fancySheet");

   styleEle.setAttribute("href", "na_style_" + styleNum + ".css");

   document.head.appendChild(styleNum);

}


查看完整回答
反對 回復 2021-06-24
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

隨機生成的數字旨在與元素節點分開存儲在變量中。由于您使用 styleNum 作為兩個變量的名稱,首先將生成一個隨機數并將其存儲在 styleNum 中,然后將創建新元素節點并在隨機生成的數字的右側,由于變量無法存儲,該數字現在永遠丟失兩個不同的值。為了避免這種情況并保留隨機數以供稍后在函數中使用,您必須將要創建的元素節點命名為除styleNum


這是避免這種情況的代碼示例:


function setStyles() {

   var styleNum = randInt(5);

   var styleElementNode = document.createElement("link");

   styleElementNode.setAttribute("rel", "stylesheet");

   styleElementNode.setAttribute("id", "fancySheet");

   styleElementNode.setAttribute("href", "na_style_" + styleNum + ".css");

   document.head.appendChild(styleElementNode);

}

還要注意我如何在最后一行的函數參數中添加" "周圍.css并更改styleNum為styleElementNode。這是因為該函數旨在將創建的元素節點而不是隨機生成的數字附加到文檔頭。


查看完整回答
反對 回復 2021-06-24
  • 3 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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