jQuery NextUntil喜欢phpQuery的函数

时间:2012-11-15 01:06:59

标签: phpquery

phpQuery是否有任何jQuery NextUntil函数? 如果我有这个HTML结构:

<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>

我想要做的就是使用phpQuery获取“tr.x”之间的元素。在jQuery中,我们可以使用NextUntil()函数。

1 个答案:

答案 0 :(得分: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

之前的所有tr.x个元素

例如,如果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

希望有所帮助