2015-02-11 56 views
-1

在JavaScript中,我运行element.style.display = "block",其中element<asp:control>,<tr><td> DOM元素。当我这样做时,元素显示在一个新行上。我如何通过使用JavaScript或CSS来避免这种行为?在所有最新的浏览器中使用style.display =“block”

仅供参考,我使用的JavaScript函数低于:

function hideEdit() 
{ 
    document.getElementById("ctl00_ContentPlaceHolder1_btnEdit").style.display = "none"; 
    document.getElementById("ctl00_ContentPlaceHolder1_btnRegisterMe").style.display="block"; 
} 

我的ASP.NET元素它创建我的HTML:

<asp:Button 
    ID="btnRegisterMe" 
    runat="server" 
    CssClass="button_bg_primary" 
    OnClick="btnRegisterMe_Click" 
    Text="Register" 
    OnClientClick="return imagevalidation();" 
    TabIndex="94" 
    meta:resourcekey="btnRegisterMeResource1" /> 
+2

'显示:block'应该创建一个新的行。如果你不希望它是一个块级元素,为什么要将它设置为阻止? – 2015-02-11 07:53:03

+0

点忘记标记为接受,如果它适合你 – 2015-02-11 10:10:35

回答

1

超过走到这一步,你需要display:inline代替块

显示:块 - 为内容创建块并为其创建新行。

display:inline - 不会创建新行,但会将您的内容排列在同一行。

0

CSS 2.1引入display: inline-block;这是这里两全其美的。

首先,它将元素内部视为block,允许它具有widthheight。但是,元素本身仍然是inline,这意味着它不会像您所看到的那样包装到换行符中。

W3Schools有an in-depth explanation about display: inline-block

您可以将目前正在将其设置为block像这样以同样的方式设置该属性在JavaScript:

document.getElementById("ctl00_ContentPlaceHolder1_btnRegisterMe") 
     .style.display = "inline-block"; 
相关问题