将元素的DOM位置存储在变量中?

时间:2015-01-17 11:15:39

标签: php dom

我希望变量$slideNumber获取<input>元素的数量,具体取决于它在DOM中的位置。因此,如果它是第一个孩子,它将获得1,第二个孩子将获得2,​​等等。

输出看起来像这样:

<div>
    <input type="radio" name="slider" id="slide1">
    <input type="radio" name="slider" id="slide2">
    <input type="radio" name="slider" id="slide3">
    <input type="radio" name="slider" id="slide4">
    ...
</div>

以下是代码:

<?php if( have_rows('slides') ):
    while ( have_rows('slides') ) : the_row();

    $slideNumber = // not sure what to do here

    ?>

<input type="radio" name="slider" id="slide<?php echo $slideNumber; ?>">

<?php endwhile;endif; ?>

2 个答案:

答案 0 :(得分:1)

只需在循环之前初始化变量,并在每次迭代时递增它。

<?php 
if( have_rows('slides') ):
    $slideNumber = 1;
    while ( have_rows('slides') ) : the_row();
?>

<input type="radio" name="slider" id="slide<?php echo $slideNumber++; ?>">

<?php endwhile;endif; ?>

答案 1 :(得分:1)

have_rowsif中的while是多余的:

<?php 
for( $slideNumber = 1; have_rows('slides'); $slideNumber++ ):
    the_row();
    echo '<input type="radio" name="slider" id="slide' . $slideNumber . '">';
endfor;
?>