1

我有一个包含 UL 和 LI 的 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

请注意在$i关闭 foreach 循环之前递增,每次循环重复时使idof递增 1。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-0,只需将您的标签替换为 , nav-fragment-1, .... 像这样:

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