#javascript #html
Вопрос:
Я динамически создаю HTML-элементы, идентификаторы и имена для HTML-формы с помощью JavaScript. Оператор не работает при попытке присвоить увеличенное значение идентификатору с помощью Element.id. Это работает при присвоении имени увеличенного значения с использованием Element.name хотя. В чем причина этой разницы?
locationQuantity = 0;
newInputField.id = "location" locationQuantity ;
newInputField.name = "location" locationQuantity;
Возьмите этот фрагмент кода в качестве примера. Когда я проверяю динамически созданный элемент в браузере, у элемента будет идентификатор=»местоположение 0″ и имя=»местоположение 1″. Оператор явно работал, так как имя увеличивается, но идентификатор отображается так, как будто оператор не работал. Вот рабочий пример такого поведения.
Я понимаю, как это обойти, мне просто любопытно, почему это происходит.
Комментарии:
1. Значение возвращается до
того, как произойдет. Попробуйте `местоположение» ( Количество мест)
Ответ №1:
Этот:
locationQuantity = 0;
newInputField.id = "location" locationQuantity ;
равно этому:
locationQuantity = 0;
newInputField.id = "location" locationQuantity;
locationQuantity = locationQuantity 1;
Так:
locationQuantity = 0;
newInputField.id = "location" locationQuantity; //locationQuantity is 0
locationQuantity = locationQuantity 1; //locationQuantity is now 1
newInputField.name = "location" locationQuantity; //"location" 1