我根据用户操作动态创建表单。它是一个入口盒和每个实例的两个“按钮”。每个实例都将包装在一个唯一的div标签中。
我试图做的没有成功的是当我动态创建“按钮”时,我附加了一个包含其实例div的输入变量的函数。这是一个简短的摘录:
var newDivClass = document.getElementById("instance"+1);
button1.innerHTML = "<a href=\"#\" onclick=\"buttons("+newDivClass+");\" id=\"button1\"> Button1 </a>";
function buttons(selected) {
//I want this to select the first instance
//of button1 found within div newDivClass
selected.getElementById("button1");
//I also tried
//this.getElementById("button1");
//selected.getChildren[0];
}
问题似乎在于将newDivClass传递给实际函数。
答案 0 :(得分:2)
如果你的意图是将对象的名称作为字符串传递而不是对象本身的引用,那么你需要在newDivClass变量周围加上引号:
button1.innerHTML = "<a href=\"#\" onclick=\"buttons('"+newDivClass+"');\" id=\"button1\"> Button1 </a>";
否则,按钮功能中的脚本将尝试操作位于dom顶层的id为“instance * n *”的对象。
答案 1 :(得分:0)
要获得第一个孩子,您可以使用firstChild
属性。