2012-11-15 80 views
2

phpQuery是否有任何jQuery NextUntil函數? 如果我有這樣的HTML結構:jQuery NextUntil like phpQuery功能

<table id="m" width="100%"> 
    <tbody> 
     <tr class="x" align="center"></tr> 
     <tr></tr> 
     <tr class="n"></tr> 
     <tr></tr> 
     <tr class="n"></tr> 
     <tr></tr> 
     <tr class="x" align="center"></tr> 
     <tr class="n"></tr> 
     <tr></tr> 
     <tr class="n"></tr> 
     <tr></tr> 
     <tr class="n"></tr> 
     <tr></tr> 
    </tbody> 
</table> 

所有我想要做的就是讓「tr.x」使用phpQuery之間的所有元素。在jQuery中,我們可以使用NextUntil()函數來實現。

回答

1

我認爲這將滿足您的需要:

$i = 0; 
foreach($children as $child){ 
    if($i == 2){ break; } 
    $i = (pq($child)->attr('class') == 'x') ? ($i + 1) : $i; 
    if($i == 0){ continue; } 

    echo pq($child)->text(); 
} 

:這也將之前的第一tr.x

排除所有tr元素,例如,如果HTML是..

<tbody> 
    <tr class="n">h</tr> 
    <tr class="x" align="center">a</tr> 
    <tr>b</tr> 
    <tr class="n">c</tr> 
    <tr>d</tr> 
    <tr class="n">e</tr> 
    <tr>f</tr> 
    <tr class="x" align="center">g</tr> 
    <tr class="n">h</tr> 
    <tr></tr> 
    <tr class="n"></tr> 
    <tr></tr> 
    <tr class="n"></tr> 
    <tr></tr> 
</tbody> 

輸出將是

a 
b 
c 
d 
e 
f 
g 

希望可以幫到