繁体   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