让我在开头说这不是我想要编写函数(内联和劫持)的方式,但我必须围绕第 3 方应用程序配置界面工作,并将更改源代码作为最终选项
所以我有一个调用 onclick 函数的图像
<img src="images/button_closed.gif" id="img100023" border="0"
onclick="OnNodeImageClick(event, this)" href="theurl.cfm">
该函数接受 vars 事件,this 并获取 url
function OnNodeImageClick(evt, clickedImage) {
var href = clickedImage.getAttribute("href");
...
我需要在共享原始 ID 号的单独元素上执行完全相同的逻辑
<span id="node100023" >External Links</span>
我试过的是这个作为html
<span id="node100023"
onclick="javascript:OverwriteToTreeHandler($(this).attr('id'))">
External Links</span>
这是我的功能
function OverwriteToTreeHandler(nodeID){
var clickedItem = 'img'+nodeID.replace(/[^0-9]/g, '');
//tried $('body').find( clickedItem ) didnt work
OnNodeImageClick(event, clickedItem );
}
但是我收到以下错误-> Uncaught TypeError: Object img100023 has no method 'getAttribute'
但是通过在 HTML 中静态分配标识符
我尝试过的是 html ,我得到了我想要的结果
<span id="node100023"
onclick="javascript:OnNodeImageClick(event, img100023)">
External Links</span>
我认为这与参数有关,并且当我尝试动态获取元素时,它没有将其注册为对象,但我没有连接到这是如何完成的
提前感谢您的任何帮助