【发布时间】:2014-07-24 16:12:05
【问题描述】:
让您简要了解我要完成的工作。我有一个动态生成的 HTML。我需要将该 HTML 转换为特定的 JSON 格式。我在 JSFiddle 中有代码。
[link]: http://jsfiddle.net/X3p47/2/
function walk(node, result) {
var pages = jQuery("[data-role='page']");
pages.each(function () {
var obj = {};
console.log("Inside");
obj.text = $(this).attr('id');
obj.isFolder = true;
obj.isExpanded = true;
obj.children = findChild(this);
result.push(obj);
});
//This is how I am calling the walk function
var a = [];
var testVal = localStorage.getItem( 'htmlValue' );
walk($.parseHTML(testVal), a);
console.log(JSON.stringify(a));
代码运行良好,但问题是当我在我的 jsp 页面中部署 javascript(上面提到的那个)时(我的 jsp 页面的名称是 dataMapping.jsp),它采用的是 dataMapping 的 HTML 而不是我提供的 HTML。如果有人能给我一些意见,将不胜感激。
你看到的部分 var pages = jQuery("[data-role='page']");基本上变成了null,因为它占用了我的页面的html,即dataMapping.jsp
【问题讨论】:
-
调试从您的开发者控制台开始。有什么错误吗?您是在页面加载后而不是立即在
<head>中运行此代码吗? -
不,没有错误。这不是写在头上的。它在正文中,在
内部 -
从 JSFiddle 页面可以看出,它没有任何问题...唯一的问题是我上面提到的 walk 函数是从整个页面中获取 HTML。
标签: javascript jquery html jsp