我想寫一些DOM解析代碼從node REPL environment運行。下面是一個SSCCE:如何從節點解析DOM與jsdom REPL
"use strict";
var jsdom = require("jsdom");
var html="<a></a>";
function parse(html, x) {
jsdom.env(html, function(errors, window) {
x.window = window;
});
}
var x = {};
parse(html, x);
console.log(x.window);
的想法是,調用parse
功能後,我將不得不解析DOM可以在我的x
對象。
當我把上面的代碼在一個文件j.js
,並從REPL加載它,我得到:
> .load j.js
> "use strict";
'use strict'
> var jsdom = require("jsdom");
undefined
> var html="<a></a>";
undefined
> function parse(html, x) {
... jsdom.env(html, function(errors, window) {
..... x.window = window;
..... });
... }
undefined
> var x = {};
undefined
> parse(html, x);
undefined
> console.log(x.window);
undefined
undefined
>
爲什麼代碼不能分配x.window
財產?
@jsalonen我想,最終,獲得對應'html'變量的DOM對象,並做一些樹導航。這是一個SSCCE。也許有一種更好的方式來使用'jsdom'來獲取DOM我剛剛提出了這個'parse'函數作爲一種抽象出jsdom邏輯的方法,並且有一種方法可以將值傳遞給調用上下文。 – 2015-02-11 21:00:17