jquery删除空的列表项
我需要删除锚文本为空的li元素jquery删除空的列表项,jquery,html-lists,remove-if,Jquery,Html Lists,Remove If,我需要删除锚文本为空的li元素 我将如何选择此元素$(-此处的选择器-)您可以这样尝试: $(“.example>a[href=”)。最近('li')。删除() 您可以检查锚点是否为空,然后删除父元素。 类似下面的代码片段 $(文档).ready(函数(){ $('#myid.example a').map(函数(i,v){ $(this).is(':empty')?$(this.parent().remove():''; }); }); 最短路径: $(“.e
我将如何选择此元素$(-此处的选择器-)您可以这样尝试:
$(“.example>a[href=”)。最近('li')。删除()
-
-
您可以检查锚点是否为空,然后删除父元素。
类似下面的代码片段
$(文档).ready(函数(){
$('#myid.example a').map(函数(i,v){
$(this).is(':empty')?$(this.parent().remove():'';
});
});代码>
最短路径:
$(“.example:has(a[href='']))。remove()
@PranavRustagi映射方法比每种方法都快。如果的速度比每种方法快得多,那么不会更快吗?@PranavRustagi您可以检查哪种方法花费的时间更多,例如:console.time('map')
在这里编写映射功能console.timeEnd('map')
console.time('each'))
在这里编写每个功能控制台。timeEnd('each')
并打开控制台查看时间。不,我不是这个意思。我知道map
的执行速度比每个都快得多。我想问的是,for
是否比map
好,因为它的执行速度比map
快。我第一次使用each
的意思是,我们应该使用具有该目的的函数filter
比map
快,但是它的用途是不同的,对吗?@PranavRustagi是的,但是当你编写代码时,更快的事情很重要,所以你的单行代码$(“.example:has(a[href=”)。remove()
在文档准备就绪后,与任何映射
或for
或过滤器
相比,删除要花费更多的时间。
<ul id="myid">
<li class="example"><a href="New-Orleans">New Orleans</a></li>
<li class="example"><a href></a></li>
<li class="example"><a href="Miami">Miami</a></li>
<li class="example"><a href></a></li>
</ul>