【发布时间】:2013-05-19 11:02:01
【问题描述】:
我有一个名为“layouts.xml”的 XML 文件,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<layouts>
<layout id="layoutA">
<div class="layout typeA">
<div class="class1"></div>
<div class="class2"></div>
</div>
</layout>
<layout id="layoutB">
<div class="layout typeB">
<div class="class1"></div>
<div class="class3"></div>
</div>
</layout>
</layouts>
XML 中的每个“布局”元素都包含一组 div 元素,我想将它们作为 HTML 动态插入到我的网页中。我正在尝试这样做:
$.fn.myFunc = function () {
var url = "layouts.xml";
var $element = $(this); // element to append to
$.get(url, function (responseXml) {
var $layout = $(responseXml).find('#layoutA').children();
$element.empty();
$element.append($layout);
});
}
$('div#myDiv').myFunc();
这会将标记插入到我的网页中,但我为这些动态插入的 div 元素创建的 CSS 样式并未应用。样式应用于已经存在的 HTML 元素,但不应用于任何动态添加的内容。我已经使用在线 w3c 服务验证了 CSS、XML 和生成的 HTML。
非常感谢您在应用这些 CSS 样式方面的帮助!谢谢。
【问题讨论】:
-
它应该工作检查这个jsfiddle.net/jzbPz你能展示你的css吗?
-
我已经确认当我将 XML 附加为文本时它可以工作,但我只能通过 XMLSerializer 类获取文本。 'responseXml' 对象是一个#document,我获取 $layout 的方式使我无法使用 $.text() 和/或 $.html() 访问底层 XML。
标签: javascript jquery html css xml