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を使用してすでに解決されています: 各div内の <ul> の数を見つける方法

4

1 に答える 1

0

私は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. a+は a になり.ます (jQuery コードをコピーして犯した 1 つの間違い)
  2. コメントで示したもの。
  3. (int) $t->text();
于 2013-05-01T16:38:42.657 に答える