Jquery不能使用'in'运算符在undefined中搜索'display'

时间:2016-06-04 08:15:48

标签: jquery html

这是我的HTML

   <div class="V_CPp Elss <?php echo $Show; ?>">
                           <span class="ViewC">View more comments</span>
                          </div>
                          <div class="Elss <?php echo $Show2;?>">
                            <p>Show first</p>
                            <div class="Options SB_Pop" numb-i="1" data-c="2"><p class="CSSnOT">Soon</p></div>
                            <div class="Options SB_OF"  numb-i="2"><p class="CSSnOT">New ones first</p></div>
                            <div class="Options SB_NF"  numb-i="3"><p class="CSSnOT">Old ones first</p></div>
                            <div class="Options SB_CPop" numb-i="4"><p class="CSSnOT">Soon</p></div>
                          </div>

我有这个jquery函数

var changed=false;
    function Sb(el){
            var S_b_Clicked = el.children(".Options").first().attr("data-c");
             if (changed==false) {
             S_b_Clicked++;
             el.children(".Options").first().attr("data-c",S_b_Clicked);
             el.animate({width: "120px", height: "130px",fontSize:"40px"}, 500);
             el.children('p').animate({marginTop: "23px",marginLeft: "-9px",},500);
             if (S_b_Clicked%2==1) {
                el.children().show(800);
                }else{
                 el.children(".Options").hide(1000);   
                 el.animate({width: "80px", height: "90px",fontSize:"25px"}, 500);
                 el.children('p').animate({marginTop: "15px",marginLeft: "-16px",},500);
                }
            }
    }

我制作了这个功能,所以我可以在我的代码中的各个地方使用它

我想调用此函数点击一些像这样的元素

$(".S_b_SelectP").click(Sb($(this)));

但它在控制台

中返回错误
jquery.js:6474 Uncaught TypeError: Cannot use 'in' operator to search for 'display' in undefined

1 个答案:

答案 0 :(得分:0)

很难重现您的问题,因为您的html仍然包含我们不知道输出的php语句,但主要问题可能是您添加点击事件的方式。你的例子应该是

$(".S_b_SelectP").click(function(){Sb($(this))});

click方法需要一个函数,您应用一个函数,因此将其结果作为参数传递。