我有一个包含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>
答案 0 :(得分: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
答案 1 :(得分:1)
注意在关闭foreach循环之前递增$i
,以便每次重复循环时id
li
递增1。
<?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 ?>
答案 2 :(得分:1)
改变这个:
<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; ?>">
答案 3 :(得分:0)
<li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo $i ?>">
不要忘记在循环结束时增加$ i
答案 4 :(得分: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'>"; ?>
答案 5 :(得分:0)
如果您想要<li>
,nav-fragment-0
,......,只需将nav-fragment-1
标记替换为:
<li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo $i++; ?>">