JQuery困惑—包装集 DOM节点

2019-12-25,,,

$('#someElement')和$('#someElement')[0],这条语句带给我一段时间的困惑,开始时每次使用我总是在其中一个在出错的时候换成另外一个,
虽然每次都能完成功能,但总是有中说不出的郁闷!后来终于搞懂了其中的道理:$('#someElement')虽然只选择元素,但它仍是包装集,
不能使用DOM节点的方法(如SetAttribute等)。而$('#someElement')[0]确是返回包装集中的第一个元素,所有它能使用DOM节点的方法。

  总之:使用JQuery时,需要注意包装集和DOM节点的区别,JQuery提供的方法都是包装集的方法,不能在DOM节点上使用JQuery方法,
同样,DOM节点的方法也不能在包装集上使用,而只能应用于DOM节点。当然除了方法还有属性(如innerHTML)。
同时我能也能将DOM节点包装成包装集:如我们经常要使用$(this),将节点包装成包装集然后使用JQuery的方法进行处理。

您可能感兴趣的文章:

  • jQuery移动和复制dom节点实用DOM操作案例
  • js和jquery对dom节点的操作(创建/追加)
  • jQuery的DOM操作之删除节点示例
  • Jquery-1.9.1源码分析系列(十一)之DOM操作
  • jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点

《JQuery困惑—包装集 DOM节点.doc》

下载本文的Word格式文档,以方便收藏与打印。