Как отметил @FelixKling, наиболее вероятным сценарием является то, что узлы, которые вы ищете, еще не существуют.
Однако современные методы разработки часто могут манипулировать элементами документа за пределами дерева документов либо с DocumentFragments, либо просто отсоединением / повторным подключением текущих элементов напрямую. Такие методы могут использоваться как часть шаблонов JavaScript или для предотвращения чрезмерных операций перерисовки / переплавки, в то время как элементы, о которых идет речь, сильно изменяются.
Аналогично, новая функциональность «Теневой DOM» развертывается в современных браузерах позволяет элементам быть частью документа, но не обрабатываться запросом document.getElementById и всеми его методами sibling (querySelector и т. д.). Это делается для инкапсуляции функциональных возможностей и, в частности, скрыть его.
Опять же, скорее всего, элемент, который вы ищете, просто (пока) в документе, и вы должны сделать, как предлагает Феликс , Тем не менее, вы также должны знать, что это все чаще является не единственной причиной того, что элемент может быть необоснованным (временно или постоянно).
У меня есть что-то набор подобного: у Меня есть основной Муравей build.xml, который называет отдельный build.xml, который заботится о создании моих тестов. Это - то, как я делаю это:
<target name="build-tests">
<subant target="build">
<fileset dir="${test.home}" includes="build.xml"/>
</subant>
</target>
прием должен использовать subant
вместо antcall
. Вы не должны импортировать другой файл типа "build".
Попытайтесь использовать задача "муравья" вместо "antcall" задачи, которая выполняет импортированную сборку непосредственно вместо того, чтобы импортировать ее в текущий файл типа "build". Это имеет параметр "dir":
каталог для использования в качестве basedir для нового проекта Муравья. Значения по умолчанию к basedir текущего проекта, если inheritall не имел значение false, в этом случае он не имеет значения по умолчанию. Это переопределит установку basedir названного проекта.
, Таким образом, Вы могли сделать:
<ant antfile="${baseDirUpOne}/utils/build/build.xml" dir="../utils/build" />
или что-то как этот.
Можно передать параметрические усилители к antcall использование вложенного в antcall блоке. Так, можно передать свойства вниз тот путь (вероятно, даже basedir, так как свойства неизменны).