如何使用Javascript访问子元素?

如何使用Javascript访问子元素?,javascript,html,dom,getelementbyid,Javascript,Html,Dom,Getelementbyid,我根据用户操作动态创建表单。它是一个输入框,每个实例有两个“按钮”。每个实例都将包装在一个唯一的div标记中 我试图做但没有成功的事情是,当我动态创建“按钮”时,我附加了一个函数,其中的输入变量包含其实例的div。这是一个简短的摘录: var newDivClass = document.getElementById("instance"+1); button1.innerHTML = "<a href=\"#\" onclick=\"buttons("+newDivClass+"

我根据用户操作动态创建表单。它是一个输入框,每个实例有两个“按钮”。每个实例都将包装在一个唯一的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]; 
  }
var newDivClass=document.getElementById(“实例”+1);
button1.innerHTML=“”;
功能按钮(选定){
//我希望它选择第一个实例
//在div newDivClass中找到的按钮1的
选中。getElementById(“按钮1”);
//我也试过了
//这个.getElementById(“button1”);
//已选中。getChildren[0];
}

问题似乎在于将newDivClass传递给实际函数。

要获取第一个子对象,可以使用
firstChild
属性。

如果您的目的是将对象的名称作为字符串传递,而不是对对象本身的引用,然后需要在newDivClass变量周围加上引号:

button1.innerHTML = "<a href=\"#\" onclick=\"buttons('"+newDivClass+"');\" id=\"button1\"> Button1 </a>";
button1.innerHTML=“”;

否则,buttons函数中的脚本将尝试对dom顶层id为“instance*n*”的对象进行操作。

我做了您建议的更改,并将对象传递给buttons。但是,我仍然无法访问任何对象属性。警报(选定的.hasChildNodes());比如说不起作用。只有将名称作为字符串传递,然后在函数内部对其求值,我的更改才会起作用。你试过简单地传递按钮(这个)吗?将新创建的div作为参数值传递。