Jquery Toggle在IE / Chrome中工作,在FF中未定义

时间:2011-10-17 21:27:04

标签: javascript jquery

我似乎遇到了与其他人一样的问题,我的Javascript在Firefox中不起作用。 Firebug告诉我id是未定义的,但它不是,除非FF不识别标签作为由IE / Chrome等javascript控制的对象?

PHP看起来像这样:

echo '<a href="javascript:void(0)" onclick="toggle(details_'.$record_details.')">Details</a>';  
echo '<tr style="display:none" id="details_'.$record_details.'">';
echo '<td class="noborder" colspan="7">';
echo '<div>';
   Bunch of Content Here.
echo '</div>';
echo </td>;
echo </tr>;

Javascript只是

function toggle(id){
$(id).toggle();}

在IE和Chrome中,Sections切换正确,但Firefox会为每一个返回“details_0未定义”等。

有什么建议吗?它实际上是在通话中崩溃,很奇怪,因为我在第一行切换中放置了一个警报,它从不会触发,所以它甚至没有那么远。我错过了什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

这样称呼:toggle(\'text in here\')

在toggle函数中调用它:$("#" + id).toggle();

答案 1 :(得分:0)

它起作用的原因是因为某些浏览器实际上创建了窗口级变量details_something。所以你传递的是tr而不是字符串值的引用。

确保传递给toggle()的值用引号括起来。并确保使用#

作为前缀