清数为空ul



我正在运行以下代码来查找 ul 中 li 的计数。

     <html>
      <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
        <script>
        $(document).ready(function() {      
           $("ul").each(function(index) {
              alert($(this).find('li').size());         
           });
       });
  </script>
 </head>
 <body>
    <ul/>
    <ul></ul>
    <ul><li>li1</li><li>li2</li></ul>
 </body>
</html>

我收到警报为 2、0、2。为什么我把 li 的计数定为 2?如何让它为 0?

你不能像

这样<ul/>自闭 ul 标签(至少在 HTML 中),所以它会包装你的其他两个ul元素并以递归方式包含每个li。 像第二个一样正确关闭您的 ul 标签,它可以工作。

HTML != XHTML

如果标头为 <!DOCTYPE html> ,请替换

<ul/>

<ul></ul>

只有 SVG 和 MathML 元素可以在适当的 HTML4 或 HTML5(非 XHTML)文档中自闭合。

这是因为您的第一个 ul 标签包装了其他 ul 标签。现在第一个 ul 标签有 2 个属于第三个 ul 的 li 标签。您的标记无效,我们将在不同的浏览器中获得不同的结果。

相关内容

  • 没有找到相关文章

最新更新