为什么我无法使用 jquery 显示/隐藏 Html TR?
我在 HTML 中有以下 TR
,我使用 JQuery
<tr class="RowDiv" id="tempTR" runat="server" visible="false"> <td>
<div class="LabelDiv">
<div class="dfltTxtBld">
ID<span class="reqChar" runat="server" id="Span1" visible="false">
*</span>
</div>
</div>
</td>
<td>
<div class="InputDiv">
<asp:TextBox ID="TextBox1" runat="server" CssClass="txtField" MaxLength="10"></asp:TextBox>
</div>
</td>
<td>
<div id="Div1" runat="server">
</div>
</td>
</tr>
,在 javascript 代码中我调用了以下方法来隐藏它,
$('#<%= tempTR.ClientID %>').hide();
但它总是不受影响,即使我尝试将其隐藏然后显示它也不受影响工作..我试图隐藏&显示 TextBox1
并且它可以工作,但是如果我尝试使用该行,它就不起作用......有什么方法可以显示/隐藏 TR
吗?
I have the following TR
in HTML and i using JQuery
<tr class="RowDiv" id="tempTR" runat="server" visible="false"> <td>
<div class="LabelDiv">
<div class="dfltTxtBld">
ID<span class="reqChar" runat="server" id="Span1" visible="false">
*</span>
</div>
</div>
</td>
<td>
<div class="InputDiv">
<asp:TextBox ID="TextBox1" runat="server" CssClass="txtField" MaxLength="10"></asp:TextBox>
</div>
</td>
<td>
<div id="Div1" runat="server">
</div>
</td>
</tr>
and in javascript code i called the following method to hide it
$('#<%= tempTR.ClientID %>').hide();
but always it doesn't affected even i try to make it hidden and then show it also not work .. i try to hide & show TextBox1
and it work but if i try with the row it doesn't work ... is there any way to show/hide TR
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我认为您遇到了与这篇文章相同的问题 JQuery .Show() 不适用于服务器控件?
I think you have the same problem as in this post JQuery .Show() doesn't work with server control?
如果我执行此加载,它会起作用
也许您的问题出在其他地方?
If I do this onload it works
Maybe your problem lies somewhere else?
在您的示例中,文本框可以工作,因为它是一个 asp 控件,而表行则不能工作,因为它是一个 HTML 元素。
查看实际的 HTML 并确保
$('#<%= tempTR.ClientID %>').hide();
解析为$('#tempTR')。 hide();
在呈现的 HTML 中。我有一段时间没有使用 ASP,但我相信它将呈现为
$('#tempTR.ClientID')
这不是 DOM 中的 ID。In your example, the textbox works because it is an asp control and the table row doesn't because it is a HTML element.
Look at the actual HTML and make sure that
$('#<%= tempTR.ClientID %>').hide();
resolves to$('#tempTR').hide();
in the rendered HTML.I haven't used ASP in awhile, but I believe it will be render as
$('#tempTR.ClientID')
which isn't an ID in the DOM.我更喜欢,当您刚刚单击要隐藏的 TR 内的元素时,我将使用:
具有一定效果:
记住将该代码放入您的 onready 函数中
I prefer, As a you just clicked on an element inside the TR you want to hide, i will use:
with some effect:
remember to put that code in your onready function
这不适用于 Jquery 或 javascript 中的表。您必须按类或其他 id 引用表。使用元素 ID 不适用于表。
This does not work with a table in Jquery or javascript. You have to reference a table by class or some other id. Using element ID does not work with tables.