Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Найти добавленный элемент (https://javascript.ru/forum/misc/72565-najjti-dobavlennyjj-ehlement.html)

Nezumi.May 08.02.2018 15:23

Найти добавленный элемент
 
Всем привет!

Не могу разобраться в чём проблема.

Есть код:
<div class="alice1">
<select name="cat">
<option value="0">Выбрать категорию</option>
<option value="7">Первая</option>
<option value="12">Вторвя</option>
<option value="9">Третья</option>
</select>
</div>

<div id="iplus">
<input class="button" value=" + " onclick="addImgF(this );" title="Добавить поле для файла" type="button">
</div>


И есть скрипт:
$(document).ready(function(){
$("body").on("change", ".alice1 select", function(){

if($('#fln6').length == false) {alert($('#fln6').length);$('#iplus > input').trigger('click').trigger('click').trigger('click').trigger('click')};

});
});


При выборе option в select скрипт проверяет наличие элемента #fln6 и если его не обнаруживает, то пять раз кликает по кнопке с функцией addImgF. Эта функция добавляет поля:
function addImgF(button ) {
		var num = document.querySelectorAll('input[id^="fln"][type="file"][name^="file"]').length;
		if (num < 50 ) {
			num += (num < 1 ) ? 2 : 1;
			$(button).closest('li, td, .imagesBlock').append(['<span>[', num, ']</span><input type="file" id="fln', num, '" name="file', num, '" size="20" onchange="getimage(', num, ');"><span id="iCode', num, '"></span><div id="imblock', num, '"></div>'].join('') );
		}
		if (num >= 50 ) {
			$(button).parent().html('<span>[1]</span> ');
		}
	}


Собственно, скрипт не работает. Поля добавляются, но проверка if не работает. То есть не находит динамически добавленные элементы. А почему понять никак не могу :с

ksa 08.02.2018 15:52

Цитата:

Сообщение от Nezumi.May
$('#fln6').length == false

Это что такое? :blink:

j0hnik 08.02.2018 15:55

ksa,
сравнение не строгое. поэтому будет работать
alert(0==false);

Nezumi.May 08.02.2018 23:48

Цитата:

Сообщение от ksa (Сообщение 477308)
Это что такое? :blink:

Проверка на существование.. а что не так?

j0hnik 09.02.2018 00:18

if($('#fln6').length)

можно так

ksa 09.02.2018 08:49

Цитата:

Сообщение от Nezumi.May
а что не так?

Цитата:

Сообщение от j0hnik
if($('#fln6').length)

можно так

Или таки сравнивать с нулем...

ksa 09.02.2018 08:52

Цитата:

Сообщение от Nezumi.May
но проверка if не работает. То есть не находит динамически добавленные элементы. А почему понять никак не могу :с

Ты бы какой-то действующий пример сделал, который покажет проблему в действии.
А так показал несколько огрызков и пытаешься на словах объяснить что-то.
Цитата:

Сообщение от Nezumi.May
но проверка if не работает

Значит на момент ее вызова условие не выполняется...
Цитата:

Сообщение от Nezumi.May
не находит динамически добавленные элементы.

Так их в тот момент возможно нет на странице...


Часовой пояс GMT +3, время: 03:07.