如何在jquery中正确缓存DOM元素?

我在从命名空间变量访问缓存的DOM元素时遇到了一些麻烦。 我的FeedManager配置变量是这样的:

var FeedManager = { config : { $feedContainer : $('#feedContainer'), feedUrl : 'http://rss......', feedLimit : 10 },.... 

这里$ feedContainer是html中的ul元素。 我想添加从feed构建的li元素。 我在FeedManager对象中有一个函数init()。 但不知怎的,它无法添加子元素。

  init: function(){ var feed = new google.feeds.Feed(FeedManager.config.feedUrl); ...... ...... // this is not working FeedManager.config.$feedContainer.append(li); 

但如果在init()函数内部,我再次获得feedContainer元素,它的工作原理!

  var feedContainer = $('#feedContainer'); feedContainer.append(li); 

可能是什么问题? 以及如何在配置对象中使用初始化的缓存dom元素。

您需要确保已加载$('#feedContainer')

一个类似的例子:

  

您的#feedContainer元素是否存在于HTML中,或者稍后会被提取? 如果它被提取的时间晚于你无法缓存元素,那么你必须只使用像feedContainer这样的选择器字符串:’#feedContainer’`

在您的FeedManager对象中,然后使用类似的东西

 $(FeedManager.config.feedContainer).append(li); 

如果它存在于HTML中,那么请确保在DOM准备好后定义FeedManager对象,即。 里面的

 $(document).ready(function () { // ... }); 

$(function () { ... });