簡體   English   中英

JavaScript使用ID更改DIV背景

[英]JavaScript change DIV background using ID

我有一個<div>它的ID =“ 123456”

如果運行以下命令,則會在console.log中顯示123456

dId = obj.id,
console.log(dId);

如果這樣做,我可以更改背景

document.getElementById("123456").style.background="#EEE000";

但這失敗並顯示為“ Uncaught TypeError:無法讀取null的屬性'style'

document.getElementById(dId).style.background="#EEE000";

如何使用var dId做到這一點

更新為清楚起見obj =

<div id="123456" class="drag" style="border-style: solid; cursor: move;">TEST</div>

obj.id = 123456

更新新工作的JFiddle jsfiddle.net/pyefk58z/2將某個項目拖動到放置區域時,如何更改該項目的背景顏色以顯示在放置列表中?

謝謝

您可以使用dID作為id ,應檢查dId包含正確的id

 var obj = { id: 123456 // does not matter string or integer }; var dId = obj.id; document.getElementById(dId).style.background = "#EEE000"; 
 <div id="123456"> Test </div> 

只需使用不帶document.getElementById() dId即可。

另外,您的ID名稱是無效的CSS語法: http : //www.w3.org/TR/CSS2/syndata.html#value-def-identifier

https://jsfiddle.net/ryanpcmcquen/foLxrqrc/

 var dId = document.querySelector('#a123456'); console.log(dId); //document.getElementById("a123456").style.background = "#EEE000"; dId.style.background = "#EEE000"; 
 div { width: 100px; height: 100px; } 
 <div id="a123456"></div> 

給定您希望obj等於的值,這將起作用:

https://jsfiddle.net/ryanpcmcquen/ewct9kL3/

 var obj = document.querySelector('#a123456'); var dId = obj.id; console.log(dId); //document.getElementById("a123456").style.background = "#EEE000"; document.getElementById(dId).style.background = "#EEE000"; 
 div { width: 100px; height: 100px; } 
 <div id="a123456" class="drag" style="border-style: solid; cursor: move;">TEST</div> 

我仍然建議使用我的第一種方法,但要各取己用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM