function myfunction(id){
//code
$("#mydiv").hide();
};
Но «mydiv» динамически добавляется, и функция не работает.применить эффект jquery для динамически добавленного div
function myfunction(id){
//code
$("#mydiv").hide();
};
Но «mydiv» динамически добавляется, и функция не работает.применить эффект jquery для динамически добавленного div
Поскольку часть кода, которым вы поделились, кажется, все в порядке, я подозреваю, что с вашим кодом что-то не так.
Попробуйте debug it. Это не так сложно, и давайте выясним ошибки самостоятельно, намного быстрее, чем смотреть на ваш код.
Прежде всего, если было бы полезно узнать, попадаете ли вы в эту строку кода. Вы можете открыть консоль разработчика и добавить точку останова в соответствующую строку, или вы можете добавить alert("this line is reached and executed")
в свой код, а затем вы узнаете, достигнута ли эта линия и выполнена ли она.
Если вы вышли на линию в вопросе, было бы хорошо, чтобы знать, что о том, что там происходит:
Например, было бы хорошо, чтобы знать, если $("#mydiv")
соответствует любому. Если вы боитесь консоли разработчика, вы всегда можете попробовать: alert($("#mydiv").length)
. Если это 0, нет ничего согласованного, если это 1
, вы сопоставили элемент, который будет скрыт, если вы вызовете $("#mydiv").hide()
. Если это 0
, вы не смогли сопоставить элемент. Это означает, что в настоящее время в вашем DOM нет элементов с идентификатором mydiv
. Не имеет значения, должно ли оно быть добавлено динамически или должно быть с самого начала, его там нет. Возможно, вы допустили орфографическую ошибку в идентификаторе.
Поскольку вы сопоставляете что-то добавленное динамически по его идентификатору, возможно, что у вас уже есть элемент с идентификатором mydiv
. Если есть больше элементов с одинаковым идентификатором, будет сопоставлен только первый! Более чем один элемент с одним и тем же идентификатором - это не просто плохая практика, это недействительно и, возможно, приведет к большему количеству ошибок и головных болей позже.
Если вы уверены, что вы соответствуете правильному элементу, и он не скрыт, когда вы вызываете $("#mydiv").hide()
, то всегда есть способы поиска проблемы: например, если вы откроете консоль разработчика javascript, будут указаны ошибки javascript там. Обязательно проверьте их, если они связаны с этой проблемой.
Счастливая охота за ошибками!
Убедитесь, что вы звоните $("#mydiv").hide();
после вы добавили #mydiv
. Сам код будет работать абсолютно нормально, если вы уже добавили #mydiv
.
is 'myfunction (id)' вызывает событие click? –
Нет причин для этого не работать. '$ (" # mydiv ")' не кэшируется, он оценивается каждый раз, когда вы его вызываете. – SoonDead
Также вы можете записать следующее: 1. Что вы хотите? 2. Что происходит вместо этого? Эти два вопроса очень важны для решения проблемы. – SoonDead