我在页面上有一个文字控件(上面有一些数据)。我想在javascript中访问它,并希望在其上放置一些文本。请告诉我如何在javascript中访问文字控件。 (我使用的是asp.net)
我在javascript中的代码(但不能正常工作):
lths = document.getElementById("<%= lblhs.ClientID %>");
lths.innerHTML = 'this is text line"
答案 0 :(得分:5)
您可以使用document.getElementById('<%= myControl.ClientID %>')
找到它,或者如果您使用的是.NET 4.0,则可以直接将id字段设置为由javascript提取。或者,您可以使用jquery's selectors。您的代码无法正常工作,因为Literal控件不会呈现为元素,只是静态文本。您可以在其周围放置一个范围,或使用Label控件,它可以为您呈现一个范围。
答案 1 :(得分:3)
我不认为您可以从您的javascript客户端代码访问文字控件,因为文字控件只是呈现它的纯值而没有任何周围的标记。所以你真的没有一个你可以通过id得到的元素。
您可以将文字控件更改为标签控件。默认情况下,这会呈现为html span标记。就像那样,你可以在客户端选择它。
另一种选择是在服务器端的文字控件中写一个span或div标签,如下所示:
myLiteral.Text = "<div id=\"myDiv\">Some Text here</div>"
在客户端上,您可以使用:
选择元素var myDiv = document.getElementById('myDiv');
答案 2 :(得分:1)
只是为了排除显而易见的(因为没有其他人提到它),这是JS中的语法错误:
lths.innerHTML = 'this is text line"
不确定这是否是输入错误,或者您是否从代码中复制了它。您可以使用"
或'
,但不能同时使用两者来包围字符串。此外,您应该使用终止分号作为最佳实践(尽管不是必需的)。
lths.innerHTML = 'this is text line';
答案 3 :(得分:0)
使用母版页时,<%= myControl.ClientId %>
技术不起作用。情况可能就是这样。
你可以做的是:采取一个隐藏的领域。在隐藏字段中保存标签的ID。访问value属性以获取ID,然后使用document.getElementByID('HiddenField.Value')
获取控件。