直接在元素上执行函数,而不是 document.getElementbyId 的结果

Perform function directly on element instead of result of document.getElementbyId

本文关键字:document getElementbyId 结果 元素 函数 执行      更新时间:2023-09-26

我的HTML中有一个ID为BaseGridView的元素。如果我直接在其上调用函数,则一切正常,但是如果我通过document.getElementById()获取该元素,则我的函数调用将不起作用。

例如:

BaseGridView.DoSomething();

对我来说一切都很好。

但是如果我这样做:

var hd = document.getElementById("HiddenforMainViewID");
var z = document.getElementById(hd.value);
z.DoSomething();

没有任何效果,Firefox说"TypeError:z.DoSomething不是一个函数"。hd的值是"BaseGridView",z是一个实际元素。

有人可以向我解释为什么这不起作用吗?

编辑:

由于存在混淆,因此:

BaseGridView.DoSomething();

甚至可以工作,我真的不知道。我正在使用DevExpress,不知何故它能够做这样的事情。我一直在参考这个例子。

"TypeError: z.DoSomething not a function"和"z is a actual element"(即 Element 类的实例)表示 Element 类中没有可用的DoSomething方法。