Как получить доступ к детям в javascript?

Я использую jquery в своем коде, и у меня есть список, и когда я вызываю свою функцию для доступа к текстовому элементу в моем коде, возвращается undefined.

это мой код

xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    var place_obj = JSON.parse(this.responseText);
    for (var k = 0; k < Object.keys(place_obj).length; k++) {
      if (k % 2 == 0) {
        document.getElementById('dropdownplace').innerHTML +=
          '<a class = "dropdown-item font_size_x1" style = "background-color:#d9d9d947" ' +
          'href = "#" onclick = "pFilter()" id = "' + k + '"><span class = "">- </span>' + place_obj[k].Type + '</a>';
      } else {
        document.getElementById('dropdownplace').innerHTML +=
          '<a class = "dropdown-item font_size_x1" ' +
          'href = "#" onclick = "pFilter()" id = "' + k + '"><span>- </span>' + place_obj[k].Type + '</a>';
      }
    }
  }
};

function pFilter() {
  var place = document.getElementById('1').value;
  console.info(place) //undefiend 
}

В этом коде нет jQuery ...?

Rory McCrossan 30.05.2018 12:15

Можно, пожалуйста, немного HTML? Не очевидно, какой элемент из вашего кода будет иметь id = "1".

Protozoid 30.05.2018 12:17

Ни один из элементов form, таких как ваш a, не имеет свойства .value. Используйте .innerText или .textContent, например document.getElementById('1').innerText

Ason 30.05.2018 12:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я предполагаю, что вы хотите выбрать текст элемента с щелчком. В принципе, id вам не нужен, вы можете вызвать текущий выбранный элемент с помощью event.target. Я создал фиктивный json вместо ответа xmlhttp ....

var place_obj = [{Type: 'a'},{Type: 'b'}];
    for (var k = 0; k < Object.keys(place_obj).length; k++) {
      if (k % 2 == 0) {
        document.getElementById('dropdownplace').innerHTML +=
          '<a class = "dropdown-item font_size_x1" style = "background-color:#d9d9d947" ' +
          'href = "#" onclick = "pFilter()"><span class = "">- </span>' + place_obj[k].Type + '</a>';
      } else {
        document.getElementById('dropdownplace').innerHTML +=
          '<a class = "dropdown-item font_size_x1" ' +
          'href = "#" onclick = "pFilter()"><span>- </span>' + place_obj[k].Type + '</a>';
      }
    }

function pFilter() {
  console.info(event.target.textContent);
}
<div id = "dropdownplace">
</div>

Другие вопросы по теме