Jquery不返回通过PHP require()函数包含的元素

Jquery not returning elements included via PHP require() function

本文关键字:函数 包含 元素 require 返回 PHP Jquery      更新时间:2023-09-26

我的索引页中有几个长列表,所以我决定在PHP文档中创建它们一次,并在必要时使用PHP require()函数将它们包含在主索引页中。问题是Jquery没有返回列表中的列表项,它返回列表中列表项的数量。

index.php内部代码:

<ul class="some-list">
    <?php require("list.php"); ?>
</ul>

list.php内代码:

<li>Element 1</li>
<li>Element 2</li>
<li>Element 3</li>
<li>Element 4</li>
<li>Element 5</li>

我没有回显html代码,只是想要list.php的内容代替require()

Jquery代码:
$('.some-list').children();

$('.some-list').find('li');

两个都不行

这是我在控制台得到的内容

$('.some-list ').find('li');
> v.fn.v.init[191]

如果我在index.php中包含列表项,即不通过PHP包含它,一切工作正常。

我使用的Jquery版本是1.8.3

我错过了什么吗?

我认为你有你的脚本执行页面加载之前。您需要在页面元素构建完成后执行jQuery。

<script>
  $(document).ready(function() {
    $('.some-list').find('li').each(function() {
      console.log($(this));
    });
  });
</script>
<ul class="some-list">
    <?php require('list.php'); ?>
</ul>

你只需要用引号把你需要的文件括起来,例如:

<?php require("list.php"); ?>

修改PHP代码为:

<ul class="some-list">
    <?php include "list.php"; ?>
</ul>

和包装你的jQuery代码:

<script>
  $(document).ready(function() {
    $('.some-list').find('li');
  });
</script>