Я создал библиотеку под названием HTML5DOMDocument, которая свободно доступна в https://github.com/ivopetkov/html5-dom-document-php
Она поддерживает запрос селекторов тоже, которые, я думаю, будут очень полезны в вашем случае. Вот пример кода:
$dom = new IvoPetkov\HTML5DOMDocument();
$dom->loadHTML('Hello
This is some text');
echo $dom->querySelector('h1')->innerHTML;
Поиск в сочетании с applyCSS
Lookups основаны на CSS . Таким образом, CSS необходимо применять к сценам, чтобы вы могли искать объекты в сцене. Для получения дополнительной информации см. Документацию applyCSS
. Чтобы получить точные результаты поиска, вы также можете вызвать layout , поскольку операция макета может влиять на атрибуты графа сцены.
Итак, вы могли бы сделать это:
Button btn = new Button("ohot");
btn.setId("testId");
itemSection.getChildren().add(btn);
itemSection.applyCss();
itemSection.layout();
Node nds = itemSection.lookup("#testId");
Альтернативный поиск после показа сцены
Обратите внимание, что некоторые операции в JavaFX, такие как изначально , показывающие этап или ожидающий pulse , будет неявно выполнять приложение CSS, но большинство операций не будет.
Таким образом, вы также можете сделать это:
Button btn = new Button("ohot");
btn.setId("testId");
itemSection.getChildren().add(btn);
stage.setScene(new Scene(itemSection);
stage.show();
Node nds = itemSection.lookup("#testId");
В отношении поиска на основе CSS VS явные ссылки
Хранение и использование явных ссылок в вашем коде часто предпочитают использовать поисковые запросы. В отличие от поиска, использование явной ссылки безопасно типа и не зависит от приложения CSS. Генерирование явных ссылок также может быть облегчено с помощью JavaFX и FXML с аннотацией @FXML для безрецидивной ссылки. Тем не менее, как поисковые, так и явные ссылочные подходы имеют обоснованные варианты использования, поэтому на самом деле это просто вопрос правильного подхода в нужное время.