[英]Change Div background with Javascript by ID when another Div is clicked
[英]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.