#php #html #jquery #dom
#php #HTML #jquery #dom
Вопрос:
Я хотел бы выбрать включенный html-элемент с помощью jQuery. Как я могу этого добиться?
index.php
<?php
<html>
<head>
...
</head>
<body>
include('file.php');
</body>
<html>
?>
file.php
<?php
echo '<div class="test">test</div>';
?>
select.js
let a = $('.test');
console.log(a); // returns undefined
Комментарии:
1. Убедитесь, что js-код запускается после появления html-элемента в DOM или при
document.ready
событии.2. в структуре DOM <div class=»test»> отображается тест </div>?
3. @sergeykuznetsov Да, он есть в структуре DOM.
4. @u_mulder Я уже пробовал использовать document.ready, но это не сработало :/
5.
<?php <html> ...
Ммм…. Попробуйте поместить<?php
перед своими вызовами PHP и завершить его перед повторным запуском HTML. т.е.<?php include('file.php'); ?>
. Код даже не должен выполняться так, как сейчас.
Ответ №1:
Попробуйте выполнить свой скрипт после полной загрузки страницы.
$(window).on("load", function() {
let test = $('.test');
console.log(test);
});
Ответ №2:
Код должен быть организован следующим образом: <?php Php.Code.Goes.Here ?>
. Например, он может быть окружен HTML <b><?php print("HELLO!"); ?></b>
. Появится сообщение: ПРИВЕТ!
Итак … вы видите проблему тогда, с…
<?php
<html>
<head>
...
</head>
<body>
include('file.php');
</body>
<html>
?>
HTML находится в PHP. Вы хотите, чтобы это:
<html>
<head>
...
</head>
<body>
<?php include('file.php'); ?>
</body>
<html>
Этот код, конечно, вообще не должен был выполняться, поскольку <?php <html>
на самом деле не является допустимым синтаксисом PHP.