Правильный способ - это действительно document.getElementById () .
Причина (спекуляция), что он может работать сам по себе, заключается в том, что в зависимости от того, где вы его используете, текущий контекст может фактически является объектом документа, что неизбежно приводит к document.getElementById ().
Я использую Subclipse, и он делает поддержка движущиеся файлы между пакетами
Право Yuval. Это походит (очень неудачный!) дефицит в Подрывном. (имеющий опыт с Подрывным, который я не могу сказать наверняка) Subclipse определенно обрабатывает это правильно путем сцепления в правильные API в Eclipse.
Вы не можете сделать обоих одновременно, потому что перемещение одних только файлов недостаточно. Файлы должны быть изменены для Вашего кода, чтобы быть компилируемыми снова. Поэтому осуществите рефакторинг с Eclipse и позвольте Subclipse сделать свое волшебство (удалите старые файлы, добавьте новые файлы) после перемещения.
Если Вы позволите Eclipse сделать рефакторинг затем, конечно, то он внесет изменения в фактических файлах, которые должен взять SVN, когда Вы фиксируете корневой каталог? Я не думаю, что перемещение сократит его, хотя, SVN должен будет взять это, файл отсутствует в своем исходном каталоге, но повторно добавьте его из нового каталога. Это - липкая ситуация, я не знал бы, каков лучший метод, я просто сделал бы рефакторинг и затем фиксировал бы корень лично, даже при том, что это не будет перемещение.
Я экспериментировал, и Думаю, я нашел способ:
1) Черепаха - переместите файл, используя контекстное меню правой кнопки мыши и перетаскивания (или любой другой метод SVN, который вы хотите).
2) Используйте файловую систему Windows, чтобы переместить его назад.
3) Перетащите файл в Eclipse, чтобы обновить все ссылки.
4) Фиксация - отображается как удаление / добавление, но сохраняет историю и меняет ссылки на пакеты за одну фиксацию (сохраняя возможность сборки каждой фиксации).
Старый вопрос, но я возвращаюсь к нему, так что это моя документация!