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