应该是
innerHTML
。 innerHTM
不是 JavaScript 函数。
var something = document.getElementById('some-id')
innerHTML
而不是 innerHTM
innerHTML
是字符串变量而不是函数。使用 =
为其赋值,不要尝试使用 ()
function edit1() {
alert('you are in edit1');
document.getElementById('topdiv').innerHTML = 'hello';
}
并进行适当的错误处理:
function edit1() {
alert('you are in edit1');
var topDiv = document.getElementById('topdiv');
if (topDiv != null) {
topDiv.innerHTML = 'hello';
} else {
alert('topdiv is nowhere to be found in this DOM');
}
}
尝试 document.getElementById('topdiv').innerHTML = "Hello"
要获得
div
,您应该使用 document.getElementById('topdiv')
。确实有一个 WebKit 功能,带有 ID 的元素会自动扩展为全局变量,但这是否会成为主流是非常值得怀疑的。
那么,
innerHTM
应该读作innerHTML
,然后直接赋值:
foo.innerHTML = "hi there"
你应该使用
document.getElementById('topdiv').innerHTML = '你好';
您应该使用引用而不是 ID,使用
this
。this
表示触发事件的节点。
<div style="color:Blue" onmouseover="button1(this);">
<input type="button" onclick="edit1(this);"/>
Div Tag
</div>
function button1(divRef){
//divRef is the reference to the DIV
}
function edit1(inputRef){
//inputRef is the reference of the INPUT
//inputRef.parentNode is the reference to the DIV
}
function edit1() {
alert('you are in edit1');
document.getElementById('topdiv').innerHTML = 'hello';
}
这应该通过指定 id 来工作
在标准 JavaScript 用法中,您可以按照@DarinDimitrov 的答案进行操作。
document.getElementById("topdiv").innerHTML = ('hello');
一旦您对 JavaScript 感到满意,我建议您查看 JQuery 库 - 强大的语法将让您编写简短、整洁的代码,如下所示:
$("#topdiv").html('hello');
你的文件
<div id="topdiv" style="color:Blue" onmouseover="button1();"> Div Tag</div>
<form><input type="button" id="btndiv" value="Edit" onClick="window.open('t2.html','popuppage','width=850,toolbar=1,resizable=1,scrollbars=yes,height=700,top=100,left=100');" value="Open popup"/></form>
t2.html 文件
function sendValue (s){var selvalue = s.value;window.opener.document.getElementById('topdiv').innerHTML = selvalue;window.close();}
<form name="selectform"><input name="details" value=""><input type=button value="Copy input to parent opener" onClick="sendValue(this.form.details);"></form>
从此来源获得想法在此处输入链接描述