Как я могу использовать Javascript для доступа к подэлементам? - PullRequest
2 голосов
/ 31 декабря 2010

Я динамически создаю формы динамически в соответствии с действиями пользователя. Это поле ввода и две «кнопки» для каждого экземпляра. Каждый экземпляр будет заключен в уникальный тег 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 действительной функции.

Ответы [ 2 ]

2 голосов
/ 31 декабря 2010

Если ваше намерение состоит в том, чтобы передать имя объекта в виде строки, а не ссылку на сам объект, тогда вам потребуется заключить в кавычки переменную newDivClass:

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

В противном случаеСценарий в вашей функции кнопок будет пытаться работать с объектом с идентификатором «instance * n *» на верхнем уровне домена.

0 голосов
/ 31 декабря 2010

Чтобы получить первого ребенка, вы можете использовать свойство firstChild.

...