根据特定条件删除ul中的最后一个元素

ina*_*naz 0 html javascript jquery

我有一个ul包含很多内容的列表li,而且我的输入类型隐藏在少数内容中li.

我想要动态删除或设置display none给那些li没有任何隐藏的东西input.

我怎样才能做到这一点?

这是我的片段:

$('#q li:last-child').remove();
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="q">
<li><a class="PageNumber" data-href="home.htm">1</a></li>
<input type="hidden" value="1" class="page" />
<li><a class="PageNumber" data-href="home.htm">2</a></li>
<input type="hidden" value="2" class="page" />
<li><a class="PageNumber" data-href="home.htm">3</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Dij*_*Dij 6

你可以遍历li并检查旁边是否有输入,如果没有则隐藏它.这样的事情:

$('#q li').each(function(){
if(!$(this).next('input').length)
    $(this).hide();
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="q">
<li><a class="PageNumber" data-href="home.htm">1</a></li>
<input type="hidden" value="1" class="page" />
<li><a class="PageNumber" data-href="home.htm">2</a></li>
<input type="hidden" value="2" class="page" />
<li><a class="PageNumber" data-href="home.htm">3</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)