我似乎遇到了与其他人一样的问题,我的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未定义”等。
有什么建议吗?它实际上是在通话中崩溃,很奇怪,因为我在第一行切换中放置了一个警报,它从不会触发,所以它甚至没有那么远。我错过了什么?
谢谢!
答案 0 :(得分:2)
这样称呼:toggle(\'text in here\')
。
在toggle函数中调用它:$("#" + id).toggle();
。
答案 1 :(得分:0)
它起作用的原因是因为某些浏览器实际上创建了窗口级变量details_something
。所以你传递的是tr
而不是字符串值的引用。
确保传递给toggle()
的值用引号括起来。并确保使用#