jquery: .attr() не работает для дочернего элемента
Я схожу с ума, уставившись на это. Мне нужно изменить атрибут элемента, что я делал много раз раньше. Но это не удается. Теперь я даже не могу получить jquery, чтобы показать мне его атрибут. Связано ли это с тем, что возвращает find()?
var c = new_photo_div.find('[class = photo]')[0];
alert(c);
alert(new_photo_div.attr('class'));
alert(c.attr('class'));
Первое предупреждение правильно идентифицирует элемент: Object HTMLImageElement
Второе предупреждение правильно дает мне класс new_photo_div.
Третье предупреждение не проходит. Нет оповещения
Я думаю, что следует сказать: фото
3 ответа
Ты используешь new_photo_div.find('[class = photo]')[0]
Элемент Dom не является объектом jquery. попробуй это
$(c).attr('class');
Это потому что c
не является объектом jQuery. Удалить [0]
назначить объект jQuery c
,
В консоли вашего браузера произошла бы ошибка,
в любом случае, attr - это метод jQuery, не делайте [0],
Также вы можете использовать.prop вместо.attr, если вы используете более новую библиотеку jquery.