为什么我的切换代码没有触发?

时间:2012-09-03 01:49:47

标签: jquery google-sites

下面是否遗漏了一些明显的东西。我在google网站上有一个简单的html框小工具,只需要很少的jquery就可以关闭/打开一个div,它似乎不起作用。下面的代码在Apache网站页面上运行正常。有小费吗 ?

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.js"></script>
<script>

    $('#check').click(function(){
        $('#feedback').toggle();
    });

</script>

<button id='check'>Check Answers</button>

<div id='feedback' style='display:none;'>
    <ul>
        <li>list 1</li>
        <li>list 2</li>
    </ul>
 </div>

2 个答案:

答案 0 :(得分:1)

如果您的脚本包含在元素之前,那么它在元素被解析之前运行,这意味着$("#check")找不到任何将点击处理程序绑定到的元素。

您需要在相关元素之后将脚本块移动到(在关闭</body>标记之前是包含脚本的常用位置)或使用文档就绪处理程序将等待运行代码,直到之后解析了所有元素:

$(document).ready(function() {
    $('#check').click(function(){
        $('#feedback').toggle();
    });
});

答案 1 :(得分:0)

我无法使用jquery。

Elliot Shafii帮助我google+ Google Sites community并且下面的代码有效:

<button id="infoToggle" value="toggle" onclick="document.getElementById('info').style.display=((document.getElementById('info').style.display=='block') ? 'none' : 'block')">Toggle</button>

<div id="info" style="display:block;">
TEST
</div>