Ну, для меня это тысячи крошечных вещей. Некоторые макросы, макет GUI в целом в Eclipse я нахожу ужасным. Я не могу открыть несколько проектов в разных окнах в Eclipse. Я могу открыть несколько проектов, но тогда система, основанная на представлении, меняет на меня кучу вещей, когда я переключаю файлы. Проверки кода IntelliJ кажутся лучше. Его всплывающие подсказки для исправления общих проблем - это хорошо. Множество простых в использовании вещей, таких как боковая панель, где я могу навести курсор на горячую точку, и она расскажет мне о каждом реализующем подклассе метода или метода, который я реализую, и откуда.
Всякий раз, когда мне приходилось использовать или смотреть, как кто-то использует, «Затмение» кажется, что они могут делать большинство вещей, которые я могу делать в IntelliJ, но это отнимает у них больше времени и становится более громоздким.
jQuery соответствует ровно одному элементу при запросе идентификатора. Массив из не более одного объекта Element
будет возвращен $ ("# foo"). Get ()
. См. документацию jQuery для получения дополнительной информации или попробуйте сами.
$(function() {
alert($("#foo").length);
});
Идентификаторы элементов должны быть уникальными. Наличие нескольких DIV с одним и тем же идентификатором было бы неверным и непредсказуемым, а также противоречило бы цели идентификатора. Если вы сделаете это:
$('.myDiv').fadeOut();
Это приведет к исчезновению их обоих, если вы дадите им класс myDiv и уникальные идентификаторы (или вообще ни одного).
«Примечание: я знаю, что повторяющиеся идентификаторы противоречат стандартам»
Тогда не делайте этого. Вы уже разобрались с двумя проблемами. Это нарушает стандарты и мешает механизму выбора jQuery (и даже обычного DOM). Вероятно, в будущем будет больше проблем.
Вполне возможно, вы неправильно используете fancybox, и в этом случае я надеюсь, что кто-то, знакомый с ним, поможет вам. Или, что еще хуже, если сам сценарий ошибочен, вы не должны его использовать.
Я столкнулся с той же проблемой. По-видимому, когда вы создаете контент на странице, с которой хотите открыть Fancybox, он создает зеркальный div исходного контента. В моем случае элементы управления были заключены в созданный fancybox блок div с именем "fancy_div"
. Я смог выбрать элемент управления и получить его значение, используя следующий формат для селектора:
$ ('# fancy_div [id = InputText] '). val ();
ваши элементы управления могут существовать в другом месте в Fancybox. Лучше всего посмотреть на источник просмотра, но он
Поместите этот тег в свою форму:
Получите ценность
Откройте форму, щелкните тег, чтобы открыть окно предупреждения.
Убедитесь, что курсор находится внутри содержимого страницы (найдите элемент управления и щелкните).
Щелкните правой кнопкой мыши вне управления и выберите «просмотреть источник».
Существует множество div, так что ищите div, который содержит ваш контент.
Надеюсь, это поможет.
Поскольку $ ('# myDiv') вернет только первый div с этим идентификатором, вам нужно будет найти все элементы с этим идентификатором, используя этот трюк:
$('[id=myDiv]');
Итак, в вашем случае, чтобы применить fadeOut к все эти блоки:
$('[id=myDiv]').fadeOut();
И если вы хотите убедиться, что ваша страница не имеет этого идентификатора дважды, вы можете удалить лишние, выполнив следующие действия:
$('[id=myDiv]:gt(0)').remove();