嗨,我使用下面的代码在从服务器接收到“推送”事件后检索更新的内容。然后使用更新的内容替换已经存在的div /内容。通过AJAX调用向动态注入的div应用样式(xhrGet)
我遇到的问题是我的外部样式表中的所有样式都不适用于此新内容。
它对我来说是合理的,为什么会发生这种情况......但是没有办法解决这个问题吗?我可以动态应用样式,正如我在下面所做的那样,但似乎应该有一种更简单的方法。
是否没有办法将外部样式表中的样式自动应用到动态加载的内容?
见下文代码:
loadContent = function(page, count) {
var xhrArgs = {
url: '/content/'+page+'/'+count+'/',
handleAs: 'text',
load: function(response) {
dojo.byId('content').innerHTML = response;
dojo.query('.dropdown').forEach(function(node, index, arr) {
dojo.style(node, 'display', 'none'); // **This defaults to "display: none" in the stylesheet, but it's not applied until I do this**
});
},
error: function(error) {
console.debug('error loading content');
}
};
var deferred = dojo.xhrGet(xhrArgs);
};
+0
经过进一步检查,我的问题实际上是没有应用dojo样式,因为我在更新目标div的innerHTML属性后没有运行dojo.parser.parse()。请参阅:http://stackoverflow.com/questions/4485631/dojo-and-ajax-initializing-html-with-the-dojotype-attr –
2011-01-22 03:26:22