Javascript 使用JQuery添加动态HTML而无需硬编码?
假设您有一些JavaScript(带有JQuery)代码,可以向现有页面添加一些HTML,如:Javascript 使用JQuery添加动态HTML而无需硬编码?,javascript,jquery,html,Javascript,Jquery,Html,假设您有一些JavaScript(带有JQuery)代码,可以向现有页面添加一些HTML,如: var span = "<span>Text</span>"; some_div_element.append(span); var span=“Text”; 一些div元素。append(span); 有没有办法在不硬编码span的情况下实现这一点?如果我想添加一大部分代码,在JavaScript代码中间硬编码是不正确的。 < P> > jQuery加载函数实际上是相当容
var span = "<span>Text</span>";
some_div_element.append(span);
var span=“Text”;
一些div元素。append(span);
有没有办法在不硬编码span的情况下实现这一点?如果我想添加一大部分代码,在JavaScript代码中间硬编码是不正确的。 < P> > jQuery加载函数实际上是相当容易的。
<html>
<head>
<script src="jquery.js"></script>
<script>
$(function(){
$("#includehtml").load("loadme.html");
});
</script>
</head>
<body>
<div id="includehtml"></div>
</body>
</html>
$(函数(){
$(“#includehtml”).load(“loadme.html”);
});
通过这种方式,您可以将额外的html放在不同的html文件中,只需使用load函数将其加载即可。html可以是您想要的最短或最长,而不会使原始页面膨胀<在这种情况下,code>loadme.html需要存储在服务器上的同一路径中。使用jquery load函数实际上相当容易
<html>
<head>
<script src="jquery.js"></script>
<script>
$(function(){
$("#includehtml").load("loadme.html");
});
</script>
</head>
<body>
<div id="includehtml"></div>
</body>
</html>
$(函数(){
$(“#includehtml”).load(“loadme.html”);
});
通过这种方式,您可以将额外的html放在不同的html文件中,只需使用load函数将其加载即可。html可以是您想要的最短或最长,而不会使原始页面膨胀<在这种情况下,code>loadme.html需要存储在服务器上的同一路径中。从jQuery文档中,可以传递.append()
jQuery元素,如下所示:
$("#some_div_element").append( $("span") );
使用此功能,您可以使用display:none
轻松地在HTML中的某个地方构建span
元素,然后在Javascript代码中获取/编辑/附加它。从jQuery文档中,您可以传递.append()
jQuery元素,如下所示:
$("#some_div_element").append( $("span") );
使用此功能,您可以使用
display:none
轻松地在HTML中的某个地方构建span
元素,然后在Javascript代码中获取/编辑/附加它。如果您不想直接插入HTML,那么您可以使用Javascript创建元素,然后分别应用这些属性。但是,您必须编写大量代码。除非您打算重用这些元素,否则我认为您应该坚持直接插入html。它更简单、更高效。
下面是一个示例代码:
var btn=document.createElement(“按钮”);//创建一个元素
var t=document.createTextNode(“单击我”);//创建一个文本节点
附件(t);//将文本附加到
文件.正文.附件(btn);
如果不想直接插入html,那么可以使用javascript创建元素,然后分别应用这些属性。但是,您必须编写大量代码。除非您打算重用这些元素,否则我认为您应该坚持直接插入html。它更简单、更高效。
下面是一个示例代码:
var btn=document.createElement(“按钮”);//创建一个元素
var t=document.createTextNode(“单击我”);//创建一个文本节点
附件(t);//将文本附加到
文件.正文.附件(btn);
然后创建可重用的函数
function getMeSpan(myText) {
var span = document.createElement('span');
span.innerText = myText;
return span;
};
someOtherDIV.appendChild(getMeSpan('hello'));
someOtherDIV.appendChild(getMeSpan('world!'));
然后创建可重用的函数
function getMeSpan(myText) {
var span = document.createElement('span');
span.innerText = myText;
return span;
};
someOtherDIV.appendChild(getMeSpan('hello'));
someOtherDIV.appendChild(getMeSpan('world!'));
您可以研究一些模板语言,例如HandleBars,您可以将HTML存储在文件中并动态加载。请参阅:您可以研究一些模板语言,例如HandleBars,您可以将HTML存储在文件中并动态加载。看:我怎么不知道呢!?非常感谢。我怎么不知道呢!?非常感谢。这不是问题所在,问题在于有非常大的代码段,而没有硬编码。使用.load()对我来说很有用。谢谢。这不是问题所在,问题在于有非常大的代码段,而不是硬编码。使用.load()对我来说很有用。谢谢。这将是一个很好的方法,是的,在某些情况下很有用。对于我的情况,.load()选项更好。谢谢。这将是一个很好的方法,是的,在某些情况下很有用。对于我的情况,.load()选项更好。谢谢,我不知道这件事。这将在将来非常有用,谢谢。我不知道这件事。这将在将来非常有用,谢谢。