XUI toggleClass错误

时间:2011-10-25 09:58:00

标签: javascript xui

我有一个输入,我按下然后调用此事件:

document.getElementById("nearest").addEventListener('click', function(){
    x$("#popup").toggleClass('hide');
}, false);

然后我在控制台中收到此错误:

x$("#popup").toggleClass is not a function
[Break On This Error] x$("#popup").toggleClass('hide'); 

这是div和输入元素

<div id="popup" class="hide"></div>
<input id="nearest" type="image" name="nearest">

1 个答案:

答案 0 :(得分:0)

以下代码似乎按预期工作 - 它将背景颜色从红色切换为蓝色(在FireFox 8.0和Chrome 17.0.942.0中测试):

<html>
<head>
    <style type="text/css">
        #popup{
            position:relative;
            height:100px;
            width:100px;
            margin:10px;
            background-color:red;
       }
        .hide{
            background-color:blue !important;
        }
    </style>


    <script type="application/javascript" src="http://xuijs.com/downloads/xui-2.3.2.min.js"></script>
    <script type="application/javascript">
        x$.ready(function() { 
            document.getElementById('nearest').addEventListener('click', function(){
                x$("#popup").toggleClass('hide');
            }, false);
        });
    </script> 
</head>
<body>
    <div id="popup" class="hide"></div>
    <input id="nearest" type="image" name="nearest" />
</body>
</html>

为了确认,我假设您最初使用的document.getElementId()是函数的一部分或包含在某些onLoad脚本中?在工作示例中,我使用XUI ready()函数来确保DOM已加载。

同样值得注意的是,以下代码是等效的,因为您仍在使用XUI:

x$.ready(function() { 
    x$('#nearest').click(function(){
        x$("#popup").toggleClass('hide');
    });
});