Javascript jQuery find在Node.js中无法正常工作

Javascript jQuery find在Node.js中无法正常工作,javascript,jquery,node.js,jsdom,Javascript,Jquery,Node.js,Jsdom,我正在使用jQuery查询由in Node.js创建的dom: var html = '<p class="widget">one</p><p class="widget">two</p><p class="widget">three</p>'; var jsdom = require('jsdom'); var jquery = require('jquery'); var document = jsdom.jsdom(h

我正在使用jQuery查询由in Node.js创建的dom:

var html = '<p class="widget">one</p><p class="widget">two</p><p class="widget">three</p>';
var jsdom = require('jsdom');
var jquery = require('jquery');
var document = jsdom.jsdom(html);
var widgets = jquery(document.parentWindow).find('.widget');
var arr = widgets instanceof Array; //true
widgets.each(function() { }) //each is not defined, its not a jquery object
var html='

一个

两个

三个

; var jsdom=require('jsdom'); var jquery=require('jquery'); var document=jsdom.jsdom(html); var widgets=jquery(document.parentWindow).find('.widget'); var arr=数组的小部件实例//符合事实的 each(function(){})//每个都没有定义,它不是jquery对象
我知道文件很好。它包含类
小部件
的3个元素

但是,jQuery的函数是返回这些dom元素的常规JS数组,而不是包装dom元素集合的jQuery对象。显然,由于返回值是一个JS数组,因此我无法链接更多的jQuery函数,比如
each

我得到的错误是:

TypeError:Object[Object htmldevelment]、[Object htmldevelment]、[Object htmldevelment]没有方法“each”

有人知道这里发生了什么吗?为什么
find
不返回jQuery对象?我是遗漏了一些明显的东西还是一个bug

版本: “jquery”:“2.1.1”, “jsdom”:“2.0.0”,这项工作:

var html = '<p class="widget">one</p><p class="widget">two</p><p class="widget">three</p>';
var jsdom = require('jsdom');
var jquery = require('jquery');
var document = jsdom.jsdom(html);
var widgets = jquery(document.parentWindow)('.widget');
widgets.each(function() {
    console.log(this);
});
虽然
jQuery().find
有文档记录,但我还没有找到
jQuery.find
的文档。我相信这是一个实用函数,不应该在jQuery自己的代码之外使用。

这样做:

var html = '<p class="widget">one</p><p class="widget">two</p><p class="widget">three</p>';
var jsdom = require('jsdom');
var jquery = require('jquery');
var document = jsdom.jsdom(html);
var widgets = jquery(document.parentWindow)('.widget');
widgets.each(function() {
    console.log(this);
});

虽然
jQuery().find
有文档记录,但我还没有找到
jQuery.find
的文档。我相信这是一个实用函数,不应该在jQuery自己的代码之外使用。

我已经将您的代码从代码段中移出,因为代码段除了抛出关于
require
未定义的错误外,什么都没有做。哦,谢谢。有一段时间没有发布,也不确定将代码作为测试的首选方式:当我尝试将特定HTML附加到
文档
时,它失败了,但附加到
主体
元素是有效的。可能它在那个级别上是无效的。这很奇怪。我尝试将html片段包装在一个完整的html文档结构中,包括一个HTML5 doctype,我得到了相同的结果jQuery将find分配给Sizzle,然后用jQuery特定的东西扩展find。我意识到由于某种原因,后面的扩展部分(jQuery.fn.extend-find)没有执行。这意味着我看到的结果是直接从Sizzle返回的数据,而不是JQuery。我已将代码从代码段中移出,因为代码段除了抛出有关未定义的
require
的错误外,什么也没有做。哦,谢谢。有一段时间没有发布,也不确定将代码作为测试的首选方式:当我尝试将特定HTML附加到
文档
时,它失败了,但附加到
主体
元素是有效的。可能它在那个级别上是无效的。这很奇怪。我尝试将html片段包装在一个完整的html文档结构中,包括一个HTML5 doctype,我得到了相同的结果jQuery将find分配给Sizzle,然后用jQuery特定的东西扩展find。我意识到由于某种原因,后面的扩展部分(jQuery.fn.extend-find)没有执行。这意味着我看到的结果是直接从Sizzle返回的数据,而不是jQueryTanks,是的,这是我对如何在NodeAnks中使用jquery的误解,是的,这是我对如何在NodeAnks中使用jquery的误解