如何用JavaScript访问asp.net母版页中的元素ID ?
How do I access the element ID in an asp.net masterpage with JavaScript?
我知道这个问题有几个答案。
通常网上给出的答案包括这样做…document.getElementById (<%=myElementID.ClientID %>);
而不是this…
document.getElementById("myElementID");
但是,即使使用第一种方法,我的JavaScript代码仍然找不到元素。它告诉我这个元素没有定义。
所以…只是为了测试…我试图剥离我所有的JavaScript代码和访问元素的警告框,像这样的…
<script type="text/javascript">
alert(document.getElementById('<%=searchHyperLink.ClientID %>').value);
</script>
它仍然告诉我它未定义。
但它不是没有定义的!当我查看页面源时,<%=searchHyperLink呈现的id。ClientID %>与我要查找的控件的id完全匹配。
有什么建议吗?
扩展Evan的评论,如果您在文档顺序中元素之前的脚本标记中执行document.getElementById
,则它将返回undefined
。试试这个:
<html>
<head>
<script>
function postLoadFn() {
alert(document.getElementById('<%=searchHyperLink.ClientID %>').innerHTML);
}
</script>
</head>
<body onload="postLoadFn();">
<!-- Your markup here -->
</body>
</html>
我已经使用parent
来访问我的项目asp.net masterpage(home.master)的更高级别。
代替:
document.getElementById (<%=myElementID.ClientID %>);
使用:
parent.window.document.getElementById (<%=myElementID.ClientID %>);
相关文章:
- 选择不带选择器的元素,仅使用元素ID
- 从元素id中获取值,而不是从javascript中的名称中获取值
- 如何将第二个元素id注入到网站元素中
- 将 JavaScript 元素 ID 传递给 PHP 或 Form Variable
- 如何在 javascript 中将表单中的元素 id 值作为数组传递
- 用于指定元素 ID 的正确 JavaScript 语法是什么
- 如何从 jQuery 中的 ajax 函数中的类访问元素 ID
- JavaScript获取多个已知元素ID
- 使用ng repeat时元素ID重复
- 在使用onblur进行输入评估时,是否可以获得单击对象的元素id
- JQuery通过变量标识元素id:多个表行
- 当元素ID包含美元符号时,Javascript中的getElementByid.当ID包含美元符号时,
- 我得到未捕获的类型错误:无法读取属性'选项'即使定义了元素id,也为null
- 元素id未被接受为函数参数
- 使用jquery获取类元素id
- 如何在没有任何元素id的情况下检索表中的文本内容
- jquery按类确定元素id
- 获取元素ID并传递到函数中
- 使用jquery获取元素id
- JavaScript文档.getElementById(“id”)和元素id属性