javascript - 使用数组名称 ID 操作运行时生成的 div

标签 javascript html dom

这成功生成了 div 和数组名称地址作为 id 例如:

<div id="div1[0]" style="border: 1px solid rgb(0, 255, 0);"></div>

然后如何使用下面的 getElementById() 示例获取该 id 的句柄不起作用。如果通过在构造函数中使用的父级数组 divArray();

直接访问 div

	var divArray = new Array();			// div array "holder"
	var dCount = 0;						// div array counter

	class dyDiv {

		constructor (){	

			var parentDiv = document.getElementById('canvas');
			var div1 = document.createElement('div');
			var div2 = document.createElement('div');

			div1.setAttribute("id", "div1["+dCount+"]");	// id="div1[0]"  id="div1[2]" ... and so on
			div2.setAttribute("id", "div2["+dCount+"]");

			div1.style.border = "1px #f00 solid";	// red border
			div2.style.border = "1px #0f0 solid";	// green border

			parentDiv.appendChild(div1);
			parentDiv.appendChild(div2);
		}

	}

	function addNewDiv(){

		divArray[dCount] = new dyDiv();
		dCount++;

	}

	function modifyTest(){
		// after creation how does one manipulate a div inside an object
		divArray[0].div1[0].style.border = "1px #00f solid";						// does not work
		document.getElementById('div10').style.border = "1px #00f solid";			// does not work	
		document.getElementById('div1')[0].style.border = "1px #00f solid";			// does not work
		document.getElementById(div1[0]).style.border = "1px #00f solid";			// does not work
	}

	function init(){
		addNew.addEventListener("click", addNewDiv,false);
		modTest.addEventListener("click", modifyTest,false);
	}


	window.addEventListener("DOMContentLoaded",init,false);
<button id="addNew">Create Dynamic Div</button>
<button id="modTest">Modify divArray[0]</button>
<div style="padding:50px" id="canvas"></div>

最佳答案

您需要像这样访问 div:

document.getElementById('div1[0]')

确保包含引号。

关于javascript - 使用数组名称 ID 操作运行时生成的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48176140/

相关文章:

jquery - 当单元格大于主体宽度和高度时,表格会自动滚动

javascript - Jquery slideToggle 缓慢且在 DOM 树顶部没有响应

javascript - 在 jQuery 中选择和操作 XML 文档中 DOM 中的元素?

javascript - html中的表单点击提交按钮时无法提交数据?

javascript - UI 中模态对话框的最佳方法

javascript - 使用 jquery 添加多个选择选项

HTML 文档高度不会拉伸(stretch)到视口(viewport)的全高

javascript - 事件对象不是只用 Firefox 定义的(IE 和 Chrome 工作)

javascript - 不使用 Jquery 检查所有单选按钮

javascript - 无法找到在小屏幕上隐藏左侧菜单的代码