我有一个基本的准备.我可以在JS中包含HTMl代码吗?(带"document.write")
这是我的HTMl代码:
<li><a href="#" class="menulink">text</a></li>
<li><a href="#" class="menulink">text</a> </li>
<li><a href="#" class="menulink">text</a>
<ul>
<li>
<a href="#" class="sub">text</a>
<ul >
<li class="topline"><a href="#">text</a></li>
<li><#">text </a></li>
<li><a href="#">text</a></li>
<li><a href="#">text</a></li>
<li><a href="#">text</a></li>
<li><a href="#"text</a></li>
<li><a href="#">text</a></li>
</ul>
</li>
<li>
<a href="#" class="sub">text </a>
<ul>
<li class="topline"><a href="#">text</a></li>
<li><a href="#">text</a></li>
</ul>
</li>
<li>
<a href="#" class="sub"> text </a></li>
<li>
<a href="#" class="sub"> text </a></li>
</ul>
</li>
<li>
<a href="#" class="menulink">text</a>
</li>
<li><a href="#" class="menulink">text</a>
Run Code Online (Sandbox Code Playgroud)
我想将它包含在这个JS代码中
window.onload = function () {
document.getElementById("menu").innerHTML="";
Run Code Online (Sandbox Code Playgroud)
通过此代码连接它:
<p id="dropdown_menu"></p>
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
完整的代码在这里 http://jsfiddle.net/tsnave/eSgWj/4/ 谢谢..
Sup*_*upr 13
另一种方法是将HTML放在脚本标记中:
<script type="text/template" id="myHtml">
<li class="topline"><a href="#">some text</a></li>
<li><a href="#">some text </a></li>
<li><a href="#">some text</a></li>
<li><a href="#">some text</a></li>
<li><a href="#"some text</a></li>
<li><a href="#">some text</a></li>
<li><a href="#">some text</a></li>
</script>
Run Code Online (Sandbox Code Playgroud)
然后你可以使用它进入Javascript
var myHtml = document.getElementById('myHtml').innerHTML;
Run Code Online (Sandbox Code Playgroud)
或者使用几个库中的一个来帮助你解决这个问题.type="text/template"浏览器不会解释或显示脚本标记内的代码.这种方法的优势在于它可以直接在Javascript中将其直接放入字符串中,它允许您在编辑器中将其视为普通HTML,并保持Javascript清洁.另见John Resig的这篇文章.
Jam*_*mes 10
我可以在JS中包含HTML代码吗?
如果你的意思是你可以通过javascript输出HTML,那么答案是肯定的,例如
window.onload = function() {
document.getElementById("menu").innerHTML = '<li class="topline"><a href="#">some text</a></li>
<li><a href="#">some text </a></li>
<li><a href="#">some text</a></li>
<li><a href="#">some text</a></li>
<li><a href="#"some text</a></li>
<li><a href="#">some text</a></li>
<li><a href="#">some text</a></li>';
}
Run Code Online (Sandbox Code Playgroud)
document.getElementById("menu").innerHTML='
<li class="topline"><a href="#">some text</a></li>
<li><a href="#">some text </a></li>
<li><a href="#">some text</a></li>
<li><a href="#">some text</a></li>
<li><a href="#"some text</a></li>
<li><a href="#">some text</a></li>
<li><a href="#">some text</a></li>
';
Run Code Online (Sandbox Code Playgroud)
我所做的只是将引号切换为单引号,这样 HTML 属性就不会弄乱字符串。如果确实需要在innerHtml字符串中添加单引号,可以使用反斜杠对其进行转义,即:innerHtml = ' Don\'t break me';