2

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() 函数来做到这一点。

4

1 回答 1

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

希望有帮助

于 2013-01-08T03:31:12.517 回答