Jam*_*mes 7 javascript asp.net literals
我在我的页面上有一个asp:Literal(无法转换为Label或任何其他控件),我需要更改通过JavaScript的文本.我有以下代码适用于Label.有人可以帮忙吗?
<script type="text/javascript">
function changeText() {
document.getElementById('<%= Test.ClientID %>').innerHTML = 'New Text';
}
</script>
<a href="#" onclick='changeText()'>Change Text</a>
<asp:Label id="Test" runat="server" Text="Original Text" />
Run Code Online (Sandbox Code Playgroud)
谢谢
LITMessage.Text = "<div class='success'>Information Successfully Updated</div>"
Run Code Online (Sandbox Code Playgroud)
ASP.NET Literal不会向页面添加任何标记.因此,您必须将内容包装在某个容器中,以便可以通过JavaScript进行编辑:
假设您在页面上有以下文字:
<asp:Literal runat="server" Id="literalControl" />
Run Code Online (Sandbox Code Playgroud)
并且通过代码设置文本(因为如果你不是,你可以在标记中创建span/div开头而不是这个问题):
literalControl.Text = "Some text you want to change";
Run Code Online (Sandbox Code Playgroud)
后面的代码变成:
literalControl.Text = "<span id='myId'>Some text you want to change</span>";
Run Code Online (Sandbox Code Playgroud)
而JavaScript将是:
document.getElementById('myId').innerHTML = 'New Text';
Run Code Online (Sandbox Code Playgroud)
文字是否包含 html 标记?
如果没有,您可以将文字控件包装在 div 中并为其指定 id。然后使用js替换该div内的文本。
响应您的更新:
在这种情况下,由于您正在渲染一个带有 类的 div success
,我将使用 jQuery 来更新该 div 中的 html...它会很简单:
$('.success').html('new html goes here');
Run Code Online (Sandbox Code Playgroud)
将控件包装<asp:literal>
在 a 中<div>
,然后根据需要使用 jQuery 清除内容,如下所示:
<div id="divMyText">
<asp:Literal ID="MyText" runat="server"></asp:Literal>
</div>
Run Code Online (Sandbox Code Playgroud)
以下是如何使用 jQuery 清除文本:
//Clear the html inside of the div
$("#divMyText").html("");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
49221 次 |
最近记录: |