这是我的HTML
<li class="single">
<ul>
<li class="franchise0001"></li>
<li class="franchise0002"></li>
<li class="franchise0003"></li>
<li class="franchise0004"></li>
<li class="franchise0005"></li>
<li class="franchise0006"></li>
<li class="franchise0007"></li>
<li class="franchise0008"></li>
<li class="franchise0009"></li>
<li class="franchise0010"></li>
<li class="franchise0011"></li>
<li class="franchise0012"></li>
<li class="franchise0013"></li>
<li class="franchise0014"></li>
</ul>
</li>
我运行一个脚本,发现是否有联盟注册的特许经营权,然后它将该特许经营标识和名称放在正确的特许经营权类中。然而,一些特许经营权始终是空的,从未填补。以下是脚本填写某些信息后的HTML示例
<li class="single">
<ul>
<li><a href="#"><img src=""></a><a>Top Dawg</a></li>
<li><a href="#"><img src=""></a><a>THEEOhiostate</a></li>
<li><a href="#"><img src=""></a><a>slambodians</a></li>
<li><a href="#"><img src=""></a><a>Hollywood Shuffler</a></li>
<li><a href="#"><img src=""></a><a>Thunderbolts</a></li>
<li><a href="#"><img src=""></a><a>MeWantee</a></li>
<li><a href="#"><img src=""></a><a>Cincy Slammers</a></li>
<li class="franchise0007"></li>
<li><a href="#"><img src=""></a><a>Mahafaha</a></li>
<li><a href="#"><img src=""></a><a>SF Drug Lords</a></li>
<li><a href="#"><img src=""></a><a>Hudy Delight</a></li>
<li><a href="#"><img src=""></a><a>long shot</a></li>
<li><a href="#"><img src=""></a><a>Green Guy</a></li>
<li class="franchise00011"></li>
<li class="franchise00012"></li>
</ul>
</li>
我需要删除任何不包含从模拟脚本生成的“a”或“img”标记的空li。
我试过这个,但它只是将它们全部删除,我假设因为HTML将所有li类都清空,直到脚本填充它们
$("li:empty").remove();
以下是模拟脚本的链接 http://nitrografixx.com/2014/Nike2014/js/teams_simulation.js
答案 0 :(得分:5)
首先,他们会调用&#34;标签&#34; ...
试试这个:
$("li:empty").remove();
答案 1 :(得分:1)
我看到你的脚本正在进行ajax调用。您需要在ajax调用完成后执行$("li:empty").remove();
并且li标记已全部转换。如果您在不等待ajax调用完成的情况下执行调用以删除空的li调用,则可能会删除所有li标记,因为只有在ajax调用返回后才会修改li标记。
具体来说,在ajax成功函数的末尾添加卸妆代码,如下所示:
$.ajax({
. . .
success : function(data) {
. . .
$.each(data, function(index, element) {
. . .
});
$("li:empty").remove(); // do this only AFTER the li tags have been modified
);
. . .
);