1

UL と LI を含む 1 つの div があります。これで、その LI の動的 ID を生成したいと考えています。現在、静的 HTML を使用しています。

<li id= "nav-fragment-1">
<li id= "nav-fragment-2">
<li id= "nav-fragment-3">
<li id= "nav-fragment-4"> 

同じ出力が必要ですが、動的です。今、私は少し混乱しています。どうすればこれを手に入れることができますか?

<div id="featured">
  <ul class="ui-tabs-nav">
<?php $i = 0; foreach($posts as $post): ?>
   <li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-1">
    <a href="<?php //echo $i++;) ?>"><span><?php echo $this->escape($post['title']) ?>
<?php if($leads): ?>
      <p><?php echo $this->maxText($post['content'], 50, '...', true) ?></p>
    <?php endif ?></span>
  <img class="post-image" src="<?php echo $this->postImage($post['image'], '50px', '50px') ?>" alt="" title="<?php echo $this->escape($post['title']) ?>"/></a>
 </li>
<?php endforeach ?>
</ul>
</div>
4

6 に答える 6

3

これを変える:

<li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-1">

に:

<li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo ++$i; ?>">
于 2012-08-14T06:07:08.190 に答える
1

ここでは詳細が必要ですが、単純な文字列関数を使用できます。

<div id="featured">
 <ul class="ui-tabs-nav">
  <?php $i = 0; foreach($posts as $post): ?>
  <li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo ++$i;?>">
  <a href="<?php //echo $i++;) ?>"><span><?php echo $this->escape($post['title']) ?>
  <?php if($leads): ?>
  <p><?php echo $this->maxText($post['content'], 50, '...', true) ?></p>
  <?php endif ?></span>
  <img class="post-image" src="<?php echo $this->postImage($post['image'], '50px', '50px') ?>" alt="" title="<?php echo $this->escape($post['title']) ?>"/></a>
 </li>
<?php endforeach ?>
</ul>
</div>

<li>これにより、 nav-fragment-1、2、3の異なる ID が得られるはずです

于 2012-08-14T06:06:17.003 に答える
1

$iforeach ループを閉じる直前にをインクリメントして、ループが繰り返されるたびに of を 1 ずつインクリメントidすることに注意してください。li

<?php $i = 0; foreach($posts as $post): ?>
   <li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo $i + 1; ?>">
    <a href="#"><span><?php echo $this->escape($post['title']) ?>
<?php if($leads): ?>
      <p><?php echo $this->maxText($post['content'], 50, '...', true) ?></p>
    <?php endif ?></span>
  <img class="post-image" src="<?php echo $this->postImage($post['image'], '50px', '50px') ?>" alt="" title="<?php echo $this->escape($post['title']) ?>"/></a>
 </li>

<?php $i++; // important
endforeach ?>
于 2012-08-14T06:06:46.937 に答える
0
<li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo $i ?>">

ループの最後に $i をインクリメントすることを忘れないでください

于 2012-08-14T06:05:56.767 に答える
0

変化する

<li class='ui-tabs-nav-item ui-tabs-selected' id='nav-fragment-1'>

<?php echo "<li class='ui-tabs-nav-item ui-tabs-selected' id='nav-fragment-$i'>"; ?>
于 2012-08-14T06:08:21.500 に答える
0

、、 ....<li>が必要な場合は、タグを次のように置き換えてください。nav-fragment-0nav-fragment-1

<li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo $i++; ?>">
于 2012-08-14T06:11:27.890 に答える