zeyu1021 2015-05-04 06:17 采纳率: 0%
浏览 1589

jQuery源码init代码问题

在jQuery源码的init里面有一段:

 // HANDLE: $(html, props)
                    if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
                        for ( match in context ) {
                            // Properties of context are called as methods if possible
                            if ( jQuery.isFunction( this[ match ] ) ) {
                                this[ match ]( context[ match ] );

                            // ...and otherwise set as attributes
                            } else {
                                this.attr( match, context[ match ] );
                            }
                        }
                    }

请问这个是做什么的?为什么要循环调用属性啊?

  • 写回答

1条回答 默认 最新

  • zeyu1021 2015-05-05 07:18
    关注

    好吧~这个问题解决了~jQuery初始化方法还有一种方式,我平时没有使用过:

     $("<div></div>", {width: "123", class: "123 1234", click:  fun})
    

    这样就循环把width,class通过attr添加到属性上,由于jquery对象有click方法,那么就会调用$().click(fun)来写入事件

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置