Javascript 从<;传递变量;脚本>;到HTML代码?
我想将Javascript 从<;传递变量;脚本>;到HTML代码?,javascript,html,Javascript,Html,我想将标记之间声明的变量传递到iframe标记中的URL,如下所示: <script> var1 = 1; </script> <iframe src="http://link_to_site?param=var1> var1=1; *仅供参考-抱歉,接受的答案实际上不起作用。阅读下面的内容* 我建议您使用jQueryJS库来协助完成任务。它规范化了JS环境,因此您不必担心用户使用的浏览器 它还可以更轻松地完成一些简单的任务,如获取特定元素等 下面
标记之间声明的变量传递到iframe标记中的URL,如下所示:
<script>
var1 = 1;
</script>
<iframe src="http://link_to_site?param=var1>
var1=1;
*仅供参考-抱歉,接受的答案实际上不起作用。阅读下面的内容*强>
我建议您使用jQueryJS库来协助完成任务。它规范化了JS环境,因此您不必担心用户使用的浏览器
它还可以更轻松地完成一些简单的任务,如获取特定元素等
下面的代码显示了如何在页面完成加载后动态创建iFrame。这一点很重要,因为JS是同步运行的:换句话说,如果您为特定元素编写JS,但该元素在页面上还不存在,JS将失败
通过将代码包装到:
$(document).ready(function(){})
确保页面将在JS执行之前完成加载
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<body>
</body>
<script type="text/javascript">
var1 = 1;
$(document).ready(function(){
var theiFrame = '<iframe src="http://link_to_site?param=' + var1 + '">';
$('body').append(theiFrame);
})
</script>
var1=1;
$(文档).ready(函数(){
var theiFrame='';
$('body')。追加(框架);
})
iFrame有点奇怪,因为它们会干扰文档的“onload”事件。这是将iFrame动态添加到DOM而不是将其作为HTML标记添加的另一个原因。阅读本文了解更多信息:
*仅供参考-抱歉,但公认的答案实际上不起作用。阅读下面的内容*强>
我建议您使用jQueryJS库来协助完成任务。它规范化了JS环境,因此您不必担心用户使用的浏览器
它还可以更轻松地完成一些简单的任务,如获取特定元素等
下面的代码显示了如何在页面完成加载后动态创建iFrame。这一点很重要,因为JS是同步运行的:换句话说,如果您为特定元素编写JS,但该元素在页面上还不存在,JS将失败
通过将代码包装到:
$(document).ready(function(){})
确保页面将在JS执行之前完成加载
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<body>
</body>
<script type="text/javascript">
var1 = 1;
$(document).ready(function(){
var theiFrame = '<iframe src="http://link_to_site?param=' + var1 + '">';
$('body').append(theiFrame);
})
</script>
var1=1;
$(文档).ready(函数(){
var theiFrame='';
$('body')。追加(框架);
})
iFrame有点奇怪,因为它们会干扰文档的“onload”事件。这是将iFrame动态添加到DOM而不是将其作为HTML标记添加的另一个原因。阅读本文了解更多信息:
首先,您需要一种在JavaScript代码中识别目标元素的方法。例如,为元素指定一个id
属性:
<iframe id="myIframe" />
需要注意的一点是,该代码需要在页面上存在该元素之后执行。如果它在页面上的该元素上方运行,那么该元素将不存在,getElementById()
将不返回任何内容
“After”可能意味着它立即运行,但在页面上比元素“低”。或者,这可能意味着代码被放置在页面上的任何位置,但直到稍后才真正执行,例如在事件处理程序中。首先,您需要一种方法来识别JavaScript代码中的目标元素。例如,为元素指定一个id
属性:
<iframe id="myIframe" />
需要注意的一点是,该代码需要在页面上存在该元素之后执行。如果它在页面上的该元素上方运行,那么该元素将不存在,getElementById()
将不返回任何内容
“After”可能意味着它立即运行,但在页面上比元素“低”。或者,这可能意味着代码被放置在页面上的任何位置,但直到稍后才真正执行,例如在事件处理程序中。HTML不是这样工作的。您要做的是在JavaScript代码中识别目标HTML元素,并在该代码中修改其src
属性。感谢您的回答,但您能否给出一个简短的示例,因为我不确定是否理解……HTML不是这样工作的。您要做的是在JavaScript代码中识别目标HTML元素,并在该代码中修改其src
属性。感谢您的回答,但您能否给出一个简短的示例,因为我不确定是否理解……对不起,我认为代码本身已经解释过了。我将添加详细信息。每个看到这个问题及其答案的人都会对JavaScript有不同程度的了解。对一些人来说,发生的事情可能是显而易见的,而对另一些人来说,情况可能并非如此。你不能事先知道。但是除了解释你的解决方案,你还应该解释OP的问题:为什么他们的解决方案不起作用?如果你不解释东西,其他人将很难学习。对不起,我认为代码本身就解释了。我将添加详细信息。每个看到这个问题及其答案的人都会对JavaScript有不同程度的了解。对一些人来说,发生的事情可能是显而易见的,而对另一些人来说,情况可能并非如此。你不能事先知道。但是除了解释你的解决方案,你还应该解释OP的问题:为什么他们的解决方案不起作用?如果你不解释的话,其他人会更难学习。谢谢你的回答!但最后一个问题是,是否可以用其“id”检索特定元素的值?@mric750:当然可以。您几乎可以做任何事情来检查或操作JavaScript中的HTML元素。如果元素具有值
属性(例如输入
元素),则您只需在元素引用上读取值
。顺便说一句-这实际上无法100%工作。看这篇文章:谢谢你的回答!但最后一个问题是,是否可以用其“id”检索特定元素的值?@mric750:当然可以。您几乎可以做任何事情来检查或操作JavaScript中的HTML元素。如果元素具有值
属性(例如输入
元素),则您只需读取元素上的值