React — event.target.getAttribute(«id») возвращает null в IE11

#javascript #html #reactjs

#javascript #HTML #reactjs

Вопрос:

Как исправить IE11 в этом сценарии, чтобы я мог получить идентификатор из onClick совместимым с несколькими браузерами способом? Работает в Chrome, но не в Internet Explorer, который возвращает значение null.

 <button
  id="plus6"
  onClick={ () => plusbuttontoggle(event.target.getAttribute("id")) }
  className="plus-button"> 
    {" "}   {" "}
</button>
  

Комментарии:

1. Попробуйте использовать именованный параметр: onClick = {e => plusbuttontoggle(e.target...)}

2. не повезло, просто выдает ошибку.

3. Можете ли вы показать код, который вы использовали, и точную ошибку, которую вы получили?

4. Протестировал мое предложение, и оно отлично работает для меня в IE11: onClick={e => plusbuttontoggle(e.target.getAttribute("id"))

5. @user1088793 приведенный ниже код не работает?

Ответ №1:

Прочитайте о ссылках:https://reactjs.org/docs/refs-and-the-dom.html

Вы должны быть осторожны, когда хотите использовать элементы DOM с помощью React.

Ответ №2:

Получите идентификатор в вашей функции, как показано ниже.

 <button id="plus6" onClick={plusbuttontoggle} className="plus-button">
  {" "}
   {" "}
</button>;

function plusbuttontoggle(event) {
  console.log(event.target.id);
};