2012-09-06 59 views
0

我正在尝试使用Web开发人员工具“Web控制台”以及“Firebug”。我试图模拟当我点击此按钮时发生的情况,方法是输入脚本到webconsole,但它不起作用。有人能帮我弄清楚在Web控制台中输入什么吗?我问我的老板,但他说这是最后一根稻草!请帮忙。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控制台,但它说“类型错误:一个是未定义”

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

你传递一个字符串函数'“Left''而不是元素节点'的document.getElementById(”左')' 。这是什么原因导致我不知道这个特定的错误信息,但我想如果你将正确的参数传递给函数,它会有所帮助。 –

回答

0

看样子您需要将引用传递给元素,而不仅仅是一个id。

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

另一个选项是调用点击

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

谢谢Epscarello,这似乎是接近,但现在它返回'假',你有什么想法,为什么这可能是? –

+1

返回false?你在说什么?那功能正在返回和控制台报告? – epascarello

+0

你说这是 –

2

Left不是一个DOM元素,它的ID值。你需要将其转换为一个元素:

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

感谢亚当,这似乎是接近,但现在它返回'假',你有任何想法,为什么这可能是? –

+0

@FirstLast为我们提供了iToggleDisplay功能的代码 – kannix

+0

,您只需偷走它并自己使用它!我已经有人做了这个,我已经烧了! –

0

如果你把一些代码的HTML事件属性,然后this指向DOM对象(在你的情况与ID Left的链接)。为了得到这一点,你可以通过ID与document.getElementById功能得到它:

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

但你可以模拟按钮点击这样:

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

感谢斯巴达克斯,这似乎是接近的,但现在它返回'假',你有任何想法,为什么这可能是? –

+0

它应该去一个不同的页面,因为它是一个链接 –

+0

让我试试这个...当我尝试这个... iToggleDisplay(文档。getElementById('car_perf_internal'),'nccDropToggleSection','nccDropToggleContent',null,null,2);它返回'真'... –

0

你必须通过实际的DOM节点,而不是id作为第一个参数

所以不是

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

应该

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

因为this指节点本身