我正在寻找某种自定义泛型函数,它允许我使用JavaScript / jQuery动态创建元素。由于我使用的是XHTML和application/xhtml+xml
MIME类型,因此我不得不使用DOM函数而不是document.write();
。为jQuery采用以下回退代码:
if (!window.jQuery) {
if (!navigator.userAgent.toLowerCase().match(/msie\s[5-8]/i)) {
document.write('<script charset="UTF-8" type="application/javascript" src="/assets/scripts/jquery-2.min.js"><\/script>');
} else {
document.write('<script charset="UTF-8" type="text/javascript" src="/assets/scripts/jquery-1.min.js"><\/script>');
}
}
浏览器控制台将显示错误,代码将不会执行。所以我认为我需要的是这样的:
function writeXHTML(tag) {
// some ugly DOM-based code to execute in order for the tag to be created. Support IE, please!
}
然后像这样使用它:
if (!window.jQuery) {
if (!navigator.userAgent.toLowerCase().match(/msie\s[5-8]/i)) {
writeXHTML('<script charset="UTF-8" type="application/javascript" src="/assets/scripts/jquery-2.min.js"><\/script>');
} else {
writeXHTML('<script charset="UTF-8" type="text/javascript" src="/assets/scripts/jquery-1.min.js"><\/script>');
}
}
显然,我需要在<head>
之前,在依赖它的其他<script>
之前创建jQuery脚本。而且我还需要从外部脚本完成这个,因为我不喜欢inlining:P
我想我可以使用id
来做到这一点,但writeXHTML();
函数应该有什么代码?提前谢谢!