jquery插件开发:用于in和each confusion

时间:2014-01-24 04:37:27

标签: jquery plugins each

当我使用这些代码时,网络运行良好:

ComOperate.prototype.initop = function()
{
    var op_children = this.$element.find(".mikeoperate").each(function()
   {
   if($(this).attr("data-initstatus") == "hide")
   {
        $(this).hide();
   }
})

但如果我使用这些代码,网络崩溃:

var op_children = this.$element.find(".mikeoperate").hide;
for(var pp in op_children)
{
   var p = $(op_children[pp]).attr("data-initstatus");
   if(p == 'hide')
   {
        $(op_children[pp]).hide();
   }
}

我不知道为什么

1 个答案:

答案 0 :(得分:0)

hide()function而非property,将for in替换为简单的for

var op_children = this.$element.find(".mikeoperate");// remove hide from here
for(var pp=0,len=op_children.length;pp<len;pp++) {
   var p = $(op_children[pp]).attr("data-initstatus");
   if(p == 'hide') {
        $(op_children[pp]).hide();
   }
}

Live Demo