2016-03-18 2 views

ответ

2

Это потому, что HTML вы заменить li с недействителен:

$('li').click(function() { 
    $(this).replaceWith('<form><input type="text">cool stuff</form>'); 
}); 

Working example

Также отметим, что замена li с form является недействительным, как только li элементы могут быть прямыми потомками a ol или ul. Вместо того, чтобы вы могли empty() текущий li, затем append() новый form к нему, или просто использовать html(), чтобы сделать это:

$('li').click(function() { 
    $(this).html('<form><input type="text">cool stuff</form>'); 
}); 
+0

хорошо, что работает, но теперь я не могу ввести в поле. Почему? – WillingLearner

+0

Я не уверен, скрипка позволяет мне печатать точно. Есть ли у вас какие-либо другие обработчики событий, подключенные к 'input',' form' или 'ul'? –

+0

no У меня ничего нет – WillingLearner