我認為代碼是相同的,但我不知道為什麼它會產生不同的結果

瑪格達·雷法特

為什麼代碼做出不同的輸出並且幾乎相同的輸入?輸入:

var Add = document.getElementById('AddElement'); //the button
var Element = document.getElementById('element'); // the input text
var ListParent = document.querySelector('ul');
    
Add.addEventListener('click', function(){
    var AddText = document.createElement('li').appendChild(document.createTextNode("hello"));
    ListParent.appendChild(AddText);
})

輸出:

第一次點擊:你好

第二次點擊:你好你好

Input:
var Add = document.getElementById('AddElement');
var Element = document.getElementById('element');
var ListParent = document.querySelector('ul');
    
Add.addEventListener('click', function(){
    var AddText = document.createElement('li');
    AddText.appendChild(document.createTextNode('hello'));   
    ListParent.appendChild(AddText);
})

輸出:第一次點擊:

  • 你好

第二次點擊:

  • 你好
  • 你好
某些表演

appendChild 返回附加節點:

const div = document.createElement('div');
const parent = document.createElement('div');
const result = parent.appendChild(div);
console.log(result === div);

所以當你做

var AddText=document.createElement('li').appendChild(document.createTextNode("hello"));
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

放入的值addText是創建的文本節點。與...對比

var  AddText = document.createElement('li');

它是<li>,而不是文本節點。

因此,使用第一種方法,創建的<li>不會被使用(並且可能不是您想要的)。

如果你想使用<li>,和超薄你的代碼了,分配到.textContent<li>來代替。

Add.addEventListener('click', function(){
    ListParent.appendChild(document.createElement('li'))
      .textContent = element.value;
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

為什麼我的代碼得到不同的結果?

為什麼這段代碼會產生一個空字典,我該如何解決?

我不知道為什麼我的數組顯示錯誤的數字。只想知道為什麼會這樣?

如何打印出一個階乘數?我的代碼不斷打印出太多數字,我不知道為什麼?

我的代碼中是否有任何洩漏,只有 1 個案例不起作用我不知道為什麼?

這段代碼得到一個錯誤,這些變量沒有被分配到,我不知道為什麼

為什麼 sklearn 中邏輯回歸的等效 class_weights 會產生不同的結果?

為什麼我在 Flutter 代碼中看不到“print()”語句的結果?

我的常數在變化,我不知道為什麼,甚至不知道如何

當我運行下面的代碼時,它會打印“4294967295”而不是“-1”,為什麼?

為什麼將整數左移 24 位會產生錯誤的結果?

我不知道為什麼我收到錯誤“核心轉儲”C++

方法打印的比我預期的要多,我不知道為什麼

我的程序總是停止,我不知道為什麼

我的圖像相互重疊,我不知道為什麼

為什麼相同的鍵函數對 sorted 和 list.sort 產生不同的結果?

“範圍內”無法正常工作,我不知道為什麼

計數變量不起作用,我不知道為什麼

我不斷收到段錯誤,不知道為什麼

不知道為什麼我不能調整 div 的大小?

VLOOKUP 不工作 不工作,我不知道為什麼

為什麼我的字符排序程序會產生錯誤的答案?

為什麼我的代碼會針對此問題返回錯誤?

與 switch 相比,為什麼 else if 產生不同的結果?

我不斷收到此錯誤代碼,但不知道為什麼?只有整數、切片 (`:`)、省略號 (`...`)、numpy.newaxis (`None`) 和整數或

為什麼這段 Golang 代碼會產生死鎖?

有人能發現我代碼中的錯誤嗎?我不知道我錯過了什麼部分,我搞砸了什麼

為什麼我用 toString() 得到相同的結果,但用 getClass().getName() 得到不同的結果

為什麼下面代碼中的結果是 1?四捨五入什麼時候發生?