Javascript 是否将参数传递给动态创建的div元素?
我有一个页面,我正在父页面的一个div中动态创建几个divJavascript 是否将参数传递给动态创建的div元素?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个页面,我正在父页面的一个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: #
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]);
}
for(i=0;i
My pages变量是URL字符串的数组。它们都是html页面,有自己的参数。我遇到的问题是jquery load()。它似乎没有传递创建页面所需的参数。相反,它从我的父页面传递参数。这些页面上的CSS也没有加载 我对javascript相当陌生,如有任何帮助,将不胜感激 示例url:
有什么想法吗?谢谢 关于CSS问题: 您不应使用此函数加载entiere页面。此函数用于加载“部分页面”(无或标记,仅加载内部主体) 你的css应该包含在你的主页中,加载应该帮助你只加载所需的html(它将使用你主页的css) 关于参数问题: 你能为你的URL提供参数吗?使用load()传递URL参数应该是可行的
maindiv.appendChild(e);
而不是
maindiv.appendChild(element);
还是我遗漏了什么?jQuery
load
函数很好,运行得很好,您应该在JavaScript代码或创建HTML页面的服务器端查找这个问题。因此,一些指导原则如下
- 在jQuery加载函数之前放置一个
,并确保加载URL完全符合您的要求consol.log(…)
- 在浏览器的新选项卡中打开该URL,并检查其HTML代码/内容是否正常
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]);
}
for(i=0;i
“它似乎没有传递创建页面所需的参数”您在说什么参数?URL参数?是的,URL参数。就像下面这个index.html?param1=valueSmall性能提示:使用文档片段来存储动态创建的div。循环完成后,将片段附加到所需的任何元素。示例url:“”。我正在创建一个仪表板,pages变量在仪表板中保存我想要的页面,但是如果我不能保留css,那么我可能会以错误的方式进行操作。为什么你说参数没有传递?你确定在请求的URL中没有收到它们吗?我肯定。window.location.href仅提供父页面中的参数,而不是传递给jquery加载函数的url。我一直在将它们输出到控制台加载的url正是我想要的,如果我在它自己的页面中打开url,它将以我期望和想要的方式完美加载。顺便说一句,动态加载的HTML也有需要执行的javascript有关系吗?@sc2bigjoe Nope,每个脚本元素都会在附加到页面后立即执行,因此,当附加了相应的元素时,JS代码将被执行。javascript正在执行,但参数仍然没有被捕获。我应该如何访问子页面中的参数?目前我使用的是window.location.href?@sc2bigjoe您想在哪里使用这些参数,客户端还是服务器端?这些参数在客户端被解析并用于与服务器端通信,这样它就知道要在客户端显示哪些数据。