我正在尝试创建一个新节点,它是文档中现有ul节点的子节点,但无论我如何继续,我似乎都会收到错误。以下两种方式是我尝试过的方式:
var ul = dojo.query('#highlights ul').0;
dojo.place("<li></li>", ul);
我收到一条消息:
TypeError:refNode.appendChild不是 功能
这条消息对我来说没有意义,因为在检查ul的值时我发现它是一个元素并且它已经有两个孩子......我继续尝试dojo.create允许的更多程序化构建( );通过以下几行:
var ul = dojo.query('#highlights ul').0;
dojo.create("li", null, ul);
这会产生错误:
TypeError:doc is undefined
这真是令人困惑,因为ul元素被定义了...我决定我应该尝试将相同的li元素添加到doc体中,所以我去尝试了:
dojo.create("li", null, dojo.body());
返回没有错误,但在检查文档源时没有任何改变....那么我有什么遗漏?我假设我不需要任何文件来使用这些,这是一个不正确的假设吗?包含此代码的加载函数位于外部文件中以帮助我组织代码,这是否会导致问题?
在dojo.addOnLoad块中调用此函数以防止在调用异步时出现问题,这可能是问题的一部分吗?
答案 0 :(得分:3)
您的问题是您没有从查询中获取节点。
应该是:
var ul = dojo.query('#highlights ul')[0];
不
var ul = dojo.query('#highlights ul').0;
我很惊讶您的浏览器在dojo.query
行没有错误。
答案 1 :(得分:-2)