我有一个页面,我在父页面的div中动态创建了几个div。
for (i = 0; i < pages.length; i++) {
var e = document.createElement("div");
var eid = "dynamicdiv-" + i;
e.id = eid;
e.style.cssText = 'position:absolute; left: ' + left + 'px; color: #0000bb;';
maindiv.appendChild(e);
$('#' + eid).load(pages[i]);
}
我的网页变量是一个网址字符串数组。它们都是html页面,并有自己的参数。我遇到的问题是jquery load()。它似乎没有传递我创建页面所需的参数。相反,它从我的父页面传递参数。这些页面上的CSS也没有加载。
我对javascript很新,任何帮助都会非常感激。
示例网址: http://example.com/index.html?param1=value
有什么想法吗?谢谢!
答案 0 :(得分:2)
jQuery load
函数很好并且运行正常,您应该在JavaScript代码或服务器端查找此问题,这会创建HTML页面。所以一些指导原则如下
consol.log(...)
,并确保加载URL完全符合您的要求。另请注意,如果动态加载的HTML代码具有CSS样式表,则应首先预加载它们。
作为旁注,我真的很想知道为什么在 Super Powerful jQuery存在时使用 pure JavaScript来创建/附加元素。
for (i = 0; i < pages.length; i++) {
$('<div></div>')
.attr('id', "dynamicdiv-" + i)
.css({'position': 'absolute', 'left', left + 'px', 'color', '#0000bb'})
.appendTo(e);
$('#' + eid).load(pages[i]);
}
答案 1 :(得分:0)
关于CSS问题:
您不应使用此功能加载entiere页面。此功能旨在加载部分页面&#34; (没有或标记,只是内部的身体)。
你的css应该包含在你的主页面中,并且加载应该可以帮助你只加载所需的html(它将使用你主页面的CSS)。
关于参数问题:
您可以为您的网址提供参数吗?使用load()传递URL参数应该可以工作。
答案 2 :(得分:0)
maindiv.appendChild(e);
而不是
maindiv.appendChild(element);
或者我错过了什么?