[英]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.