【问题标题】:How to find the number of uls inside each div如何找到每个div中的uls数量
【发布时间】:2013-04-25 15:44:04
【问题描述】:

我有一个这种形式的大文件[类似的 div 贯穿始终]。我希望能够选择一个 div,找到其中 ul 的数量并遍历它们中的每一个以获取其中每个 li 的值。

<div class="experiment">
   <div class="experiment-number">5</div>
   <ul class="data-values">
         <li><div></div> 14</li>
         <li><div></div> 15</li> 
   </ul>
   <ul class="data-values">
        <li><div></div> 16</li>
   </ul> 
</div>

想用 phpQuery 来做。已经在这里使用 jQuery 解决了: How to find number of <ul> inside each div

【问题讨论】:

  • 如果你解决了问题是什么?
  • 无法使用 phpQuery 做到这一点?

标签: php phpquery


【解决方案1】:

我不知道 PHPQuery,但拿了它的文档、你的 jQuery 代码和 StackOverflow 上一些已经存在的 phpQuery 问题,这个应该可以工作。

$experiments = pq('.experiment'); 

foreach($experiments as $experiment){

    echo "Experiment: ". $experiment->find('.experiment-number')->text();
    echo "Experiment ULs: " + $experiment->find('ul')->size();

    $total = 0;
    foreach($experiment->find('ul.data-values li') as $t){
        $total += (int) $t;
    }

    echo "Experiment total: " . $total;
}

编辑(说真的,你应该看到的只有 3 个错误):

$experiments = pq('.experiment'); 

foreach($experiments as $experiment){
    $experiment = pq($experiment);
    echo "Experiment: ". $experiment->find('.experiment-number')->text();
    echo "Experiment ULs: " . $experiment->find('ul')->size();

    $total = 0;
    foreach($experiment->find('ul.data-values li') as $t){
        $t = pq($t);
        $total += (int) $t->text();
    }

    echo "Experiment total: " . $total;
}
  1. + 变成了.(我在复制你的 jQuery 代码时犯了一个错误)
  2. 您在评论中指出的那个。
  3. (int) $t-&gt;text();

【讨论】:

  • 我之前写的正是这段代码。它不应该工作,但它没有。请问你能查一下为什么吗?它不起作用
  • 您还需要将 $experiment 类型转换为 pq($experiment) 以使其成为 phpQuery 对象。否则你不能调用查找函数
  • @user2338840 您应该指示 PHP 显示或记录错误。这是一件容易的事。 (int) $t 是不允许的,因为我忘记了 -&gt;text()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-11
  • 2016-03-31
  • 1970-01-01
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
相关资源
最近更新 更多