У меня есть приложение формы. Мне нужно получить доступ к входному объекту. Я не могу добавить этот атрибут.
я получаю ошибку:
Uncaught TypeError: свойство 'children' объекта # не является функцией scripts.js: 106 (анонимная функция) scripts.js: 106 x.event.dispatch jquery.js: 4597 y.handle
elm [6].children() = Not null
t [0].value = иметь значение.
$(".demo").delegate(".configuration .dropdown-menu button", "click", function (e) {
e.preventDefault();
var t = $(this).parent().children();
var elm = t.parent().parent().parent().parent().parent().children().children();
debugger;
if (t[1].id == "Id") {
elm[6].children().attr('id', t[0].value);
}
})
Я могу видеть данные объекта ввода. Но я не могу добавить атрибут..
Используйте eq()
вместо скобок, так как [6]
обращается к базовому dom-узлу в массив-подобном объекте jQuery, а затем у вас больше нет объекта jQuery, который может быть прикован с помощью методов jQuery и т.д.
elm.eq(6).children().attr('id', t[0].value);
Обратите внимание, что способ, которым вы это делаете, может установить один и тот же идентификатор для нескольких элементов, что недействительно.
t.parent().parent().parent().parent().parent()
t.closest("selector")
. Ваш JS очень хрупок для малейшего изменения HTML. Также, вероятно, вам нуженt.closest("some selector").find("some other selector")
так что вы не будете сильно кодировать определенные позиции HTML в своем JS.