我对 jQuery 非常熟悉,但正如你们大多数人所知,jQuery 和 vanilla javascript 之间有很大的不同。我正在尝试更深入地了解 vanilla javascript,并且我有一些代码和一些问题。
在下面的代码中,我尝试从 Writeboard.com(已停用http://37signals.com/writeboard-retired)的导出功能生成 HTML。基本上,我正在尝试进行一些有用的练习并编写一个脚本来查找特定内容,例如<li>//Title:...</li>
并将其推送到 JSON 数组中,然后我将其解析为 XML。最终目标是将所有这些都作为 XML 获取,以便它更便携(既远离传统的 Writeboard.com 板,也可以直接导入到我正在开发的 Web 应用程序中)。
所以,我还有很长的路要走,而且我不是在寻找任何人为我编写代码,但我正在努力思考以下几点:
尝试创建一个回调调用
TargetList
,允许用户按如下方式传递一个数组,以告诉脚本特殊的“键”(值),然后搜索该“键”(值)。父级<li>
将提取其内容并将其保存到 JSON 数组中,以便<li>
可以放弃包含元素,而 XML 属性(例如<title>
)可以包装它。我对在 JS 中设置数组的正确语法的理解是
var targetList = [];
创建一个空数组,然后我可以稍后在循环搜索、查找和保存脚本的各个方面时填充该数组。我想我设置错了,我不知道为什么。- 我也很困惑为什么我不能
convertToXML(['//Title:','//Prerequisite:','//Description:']);
稍后在脚本中调用该函数,我在这方面遇到了错误,不知道为什么。我得到的错误导致我假设我没有正确设置目标,所以我只是通过包装document.ready
我意识到在脚本稍后调用早期函数时不需要的函数来创建一个,尽管我不知道为什么我遇到了困难。
- 我也很困惑为什么我不能
我意识到其中一些与我仍在学习的 OOP 原则有关,对我温柔一点,我希望有人能向我解释为什么我会出错。我会非常感激的!
( function ($) { // wrap jQuery to prevent conflicts
$(document).ready(function () {
function convertToXML (targetList) {
var targetList = [];
var i = 0;
while (i<=targetList.length) {
var target = targetList[i];
targetList.push( target );
i++;
};
};
$(document).ready(function() {
convertToXML(['Title:','Prerequisite:','Cost:','Description:','Effect:','Categories:' ]);
});
}); // end document.ready
} ) ( jQuery );