1

我有一个这种形式的大文件[整个类似的 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

4

1 回答 1

0

我不知道 PHPQuery,但在 StackOverflow 上获取它的文档、您的 jQuery 代码和一些已经存在的 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. a+变成 a .(我在复制你的 jQuery 代码时犯了一个错误)
  2. 您在评论中指出的那个。
  3. (int) $t->text();
于 2013-05-01T16:38:42.657 回答