我正在使用 Dreamweaver 的内置 PHP 功能来构建一个小型应用程序。我正在以重复的 ul, li 结构检索数据,如下所示。
- 客户名称
- 职位描述
- 完成年份
客户名称和职位描述将始终具有值,完成年份可能具有空值。如果完成年份为空值,则不应显示“li”。
我正在尝试使用 jQuery 来做到这一点,但对我来说看起来很复杂。我可以在 PHP 中实现这一点吗?
我正在使用 Dreamweaver 的内置 PHP 功能来构建一个小型应用程序。我正在以重复的 ul, li 结构检索数据,如下所示。
客户名称和职位描述将始终具有值,完成年份可能具有空值。如果完成年份为空值,则不应显示“li”。
我正在尝试使用 jQuery 来做到这一点,但对我来说看起来很复杂。我可以在 PHP 中实现这一点吗?
$array = array('client_name'=>'John', 'job_descr'=>'Programming', 'year'=>null);
foreach ($array as $data) {
echo '<ul>';
($data['client_name']!=null)?echo '<li>'.$data['client_name'].'</li>':echo '';
($data['job_descr']!=null)?echo '<li>'.$data['job_descr'].'</li>':echo '';
($data['year']!=null)?echo '<li>'.$data['year'].'</li>':echo '';
echo '<ul>';
}
如果我理解正确,这就是你所需要的。
用 PHP 做这件事是合乎逻辑的方式——你必须向我们展示 PHP 源代码来帮助你——它只涉及一个 if 语句检查 null 并且如果它是真的不回显该列表..但是回答你的jquery 问题.. 如果你的输出是这样的:
<ul id="this_is_the_list">
<li>
<ul>
<li>Client name value</li>
<li>Job desc value</li>
<li>This isnt null</li>
</ul>
</li>
<li>
<ul>
<li>Another name value</li>
<li>Another Job desc value - this one will be null</li>
<li></li>
</ul>
</li>
</ul>
你的jQuery将是:
$(document).ready(function() {
//for each additional list within the target list
//which has a 3rd li (i would suggest giving this a
//class instead to better target it).
$('#this_is_the_list li li:nth-child(3)').each(function() {
if($(this).text().length < 1) { //if its empty
$(this).parents('#this_is_the_list > li').remove(); //remove its parent list item
}
});
});
小提琴在这里演示:http: //jsfiddle.net/QxcLS/