连续<li>类</li>

时间:2009-06-12 12:38:18

标签: php wordpress class on-the-fly

我无法找到一个表达式来自动生成一个新的“类”,如下所示:

<ul>
<li class="img1">link</li>
<li class="img2">link</li>
<li class="img3">link etc...</li>
</ul>

这嵌套在2个标签中,用于“最多阅读”/“最新评论”。不同的类是这样我可以使用CSS制作不同的子弹(数字);实际上,<li>类是给出一个风格化的而不是普通的(子弹)数字

我希望我需要JavaScript来生成6个类,以便与WordPress调用一起使用以获取最新评论和RSS提要。

我认为这应该是简单的东西,但到目前为止,还有很多WordPress论坛,Google等。另外,我没有JavaScript编程背景。

我很欣赏任何可能的解决方案。

5 个答案:

答案 0 :(得分:1)

如果有编号,你会不会使用有序列表? <ol>

或许我在这里错过了一点。您是否使用更高级别的语言来创建此HTML?还是工具?

答案 1 :(得分:1)

此代码将生成增量类:

<?
class linkClass
{
        public static $n;
        public function next()
        {
                return self::$n++;
        }
}
?>

<? linkClass::$n = 1; ?>
<ul>
  <li class="link<? print(linkClass::next());?>">link</li>
  <li class="link<? print(linkClass::next());?>">link</li>
  <li class="link<? print(linkClass::next());?>">link</li>
</ul>

你会把“print(linkClass :: next());”在生成链接的行中(不是一个真实的例子):

foreach($links as $link)
  echo '<li class='.linkClass::next().'>'.$link.'</li>';

答案 2 :(得分:0)

如果您希望它们在运行时更改,您可能希望生成服务器类,或者使用javascript。

答案 3 :(得分:0)

根据我的理解,您想要打印出一个无序列表,每个列表项都有一个唯一的类,每次打印一个列表项时会增加1个?

我对Wordpress没有任何经验,但是对于每次打印列表项时增加的变量,这是不是很容易做到?

例如:

<ul>
  <li class="<?php echo "img","$i"; ?>>link</li><?php $i++; ?>
  <li class="<?php echo "img","$i"; ?>>link</li><?php $i++; ?>
  <li class="<?php echo "img","$i"; ?>>link etc...</li><?php $i++; ?>
</ul>

或者,您可以创建一个执行以下操作的函数: 1)打印出数字 2)将数字的值增加1,以便下次调用函数时打印出更高的值

这将允许您执行以下操作:

function classImg() {
  echo "img", "$i";
  $i++;
}

<ul>
  <li class="<?php classImg(); ?>>link</li>
  <li class="<?php classImg(); ?>>link</li>
  <li class="<?php classImg(); ?>>link etc...</li>
</ul>

我已经写下了这个,所以可能有错误,但我希望你能理解我的目标。

答案 4 :(得分:0)

使用jQuery

$(function(){
  $('ul.special').each(function() {
    $('li', this).each(function(i) { this.addClass('img'+i.toString()); });
  });
});

这是用最基本的参考书写的。我建议您查看jQuery以获取更多信息等。