JavaScript 参数对象引用未知
javascript paramenter object reference unknown
考虑以下代码(仅删除为相关代码):
.JS
function ToggleRow(objTwistie, objRow) {
if (objRow.style.display == "none") {
objRow.style.display = "";
objTwistie.src = "../Images/SectionDown.gif";
} else {
objRow.style.display = "none";
objTwistie.src = "../Images/SectionUp.gif";
}
}
.HTML
<form method="post" action="./WelcomePage.aspx?Tab=2" id="form1">
<table>
<tr>
<td>
<table>
<tr>
<td>
<img id="MyTwistie1" onclick="ToggleRow (MyTwistie1,SubRow1)" src="../Images/SectionDown.gif" alt="alt">
</td>
<td>
<div><span onclick="ToggleRow (MyTwistie1,SubRow1)" style="font-size:13px"><b>Header Row</b></span></div>
</td>
</tr>
</table>
</td>
</tr>
<tr id="SubRow1">
<td>
This is the section that gets hidden
</td>
</tr>
</table>
</form>
当我在 img 标记中调用 onclick 事件(单击页面上的图像)时,两个对象引用都正确传递给 ToggleRow 函数,并且脚本正常运行。
但是,当调用span onclick事件中的事件时,只有对objRow的引用正确传递,并且对MyTwistie1的引用会生成错误,指出"'MyTwistie1'未定义"。我意识到有更好的方法来做到这一点,但我只需要了解为什么这会失败。
编辑:使用getElementById的建议非常有效。如果有人可以通过自己传递 ID 来解释为什么它会失败,那就太棒了。
我建议在事件调用中用document.getElementById('MyTwistie1')
替换MyTwistie1
,用document.getElementById('SubRow1')
替换SubRow1
onClick
。
相关文章:
- 如何使用object.assign()从其他对象引用基本对象属性
- 返回 JavaScript 类值而不是对象引用
- Facebook:当发布期望对象引用时显示打开的图形对话框
- Javascript-如何从字符串/对象引用回调
- 将其用于对象引用
- 如何将对象引用传递到 mootools 中另一个对象的构造函数中
- Javascript:将类/对象引用设置为 NULL,内存中的子对象/类会发生什么
- 在 Jquery 中,我可以存储对象引用并在以后使用它吗?
- 将对象函数传递给请求动画帧时丢失对象引用
- JavaScript ecma6中的对象引用
- 在JSON中存储对象引用
- 为什么可以在内部函数成员中访问对象引用,而不能在内部属性成员中访问
- 对象引用的隐式传递是如何工作的
- 按对象的 ID 删除对选定对象的对象引用
- 在调用的函数中使用对象引用(this)
- 如何在testcomplete+js中获取对象引用
- 在Angularjs服务中为返回对象引用的http请求提供的数据构建简单的缓存
- JavaScript对象引用
- 对象引用未设置为行中的对象的实例,如果 (!string.IsNullOrEmpty(tdcd.文本)&&
- JavaScript 参数对象引用未知