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

时间:2014-07-15 15:00:13

标签: javascript php jquery html

我的索引页面中有几个很长的列表,因此我决定在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();

OR

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

两者都不起作用

这是我在控制台中获得的内容

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

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

我正在使用的Jquery版本是1.8.3

我错过了什么吗?请帮帮我。

3 个答案:

答案 0 :(得分:0)

您只需要用引号括起您需要的文件,例如:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:-1)

将您的PHP代码更改为:

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

将jQuery代码包装在:

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