Web控制台命令不起作用

时间:2012-09-06 13:07:55

标签: javascript html debugging console

我正在尝试使用Web开发人员工具“Web控制台”和“Firebug”。我试图模拟当我通过在webconsole中输入脚本而点击此按钮时发生的情况,但它无法正常工作。有人可以帮我弄清楚在Web控制台中输入什么内容吗?我向老板求助,但他说这是最后一根稻草!!请帮忙。

以下是带按钮的代码....

<div id="car_perf_internal" style="display: inline;">
  <span style="float:left;"> </span>
  <div class="select_box right nccDropToggleSection">
    <a id="Left" class="NCCPUSHBUTTON" href="javascript:;" onclick="iToggleDisplay(this, 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);">
  <span>
<input id="buttons_K_NC_TITLE" class="NCCPUSHBUTTON" type="button" value="Performance Documents" name="buttons_K_NC_TITLE">
</span>
</a>

我尝试将其输入到Web控制台中,但它说'TypeError:a is undefined'

iToggleDisplay('Left', 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);

4 个答案:

答案 0 :(得分:2)

Left不是dom元素,它是ID值。您需要将其转换为元素:

iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);

答案 1 :(得分:0)

看来你需要传递对元素的引用,而不仅仅是id。

iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);

其他选项是点击

var elem = document.getElementById("Left");
elem.onclick.apply(elem);

答案 2 :(得分:0)

如果您在事件属性中的html中放置了一些代码,那么this指向dom对象(在您的情况下指向ID为Left的链接)。要获得此功能,您可以使用document.getElementById函数ID

来获取它
iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);

但您可以通过以下方式模拟按钮:

document.getElementById('Left').click();

答案 3 :(得分:0)

您必须传递实际的DOM节点,而不是id作为第一个参数

所以而不是

iToggleDisplay('Left', 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);

应该是

iToggleDisplay(document.getElementById('Left'), 'nccDropToggleSection', 'nccDropToggleContent', null, null, 2);

因为this指的是节点本身