代码之家  ›  专栏  ›  技术社区  ›  DaveDev

placeholder和<div/>有什么区别?

  •  2
  • DaveDev  · 技术社区  · 14 年前

    在ASP.NET项目中,我有以下HTML:

    <asp:PlaceHolder ID="plcTitle" runat="server"></asp:PlaceHolder>
    
    <div id="divStrapline" runat="server" />
    

    用此代码填充:

    if (this.TitlePanel != null)
    {
        plcTitle.Controls.Add(this.TitlePanel);
    }
    
    if (this.Strapline != null)
    {
        divStrapline.Controls.Add(this.Strapline);
    }
    

    它们都是一样的吗?不是比另一个好?为什么?

    2 回复  |  直到 14 年前
        1
  •  4
  •   janhartmann    14 年前

    这个 <asp:PlaceHolder /> 不生成 div 标签。

    Placeholder Web服务器控件没有任何可见的输出,并且在运行时添加控件时用作占位符。

        2
  •  1
  •   Amarghosh    14 年前

    空的 div 标签(和其他容器标签,如 p 等)在开口元件中闭合(如 <div/> 而不是 <div></div> )可能会导致某些浏览器出现问题。浏览器可能会忽略这样一个事实:它是用 / 并将其视为一个新的DIV,从而打破后续的标记。

    我曾经在firefox上遇到过这样的问题:我正在用python中的minidom xml库生成HTML,它将空的DIV表示为 <div /> -它打破了我剩余的分数,扰乱了随后的跳水。我最后向空元素添加了注释节点,以确保它们有单独的结束标记。