首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在HTML标记内使用Javascript变量?

如何在HTML标记内使用Javascript变量?
EN

Stack Overflow用户
提问于 2019-04-27 07:02:41
回答 5查看 1.1K关注 0票数 0

我正在尝试使用h(1-6)标签。有没有办法可以使用一个正则表达式或变量在屏幕上打印标签。

代码语言:javascript
复制
<h1>Heading</h1>
<h2>Heading</h2>
<h3>Heading</h3>
<h4>Heading</h4>
<h5>Heading</h5>
<h6>Heading</h6>

我希望使用一个变量或正则表达式,而不是使用所有变量或正则表达式,例如:

代码语言:javascript
复制
<h1-6>Heading</h1-6>
<h$>Heading</h$>

如有任何帮助,我们将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-04-27 07:11:02

只编写HTML会更简单、更简单。

如果你真的想动态地做它,下面的方法是可行的。

代码语言:javascript
复制
window.onload = function(){
  var d = document.getElementById("out");
  var h, i, max = 7;
  for(i=1;i<max;i++) {
    h = document.createElement("h"+i);
    h.textContent = "Heading";
    d.appendChild(h);
  }
}
代码语言:javascript
复制
<div id="out"></div>

票数 2
EN

Stack Overflow用户

发布于 2019-04-27 07:08:35

答案很简单,不是。不是使用原生javascript变量所指示的方式。HTML是静态文本。

您可能需要像这样编写一些JavaScript (其中v是您之前设置的全局变量)

代码语言:javascript
复制
<script type='text/javascript'>document.write("<h" + v + ">Heading</h" + v + ">")</script>

或者使用某种框架(jquery/react/angular),以适用于该框架的方式实现基本相同的功能。

动态渲染内容就是这类框架的全部内容。

根据您试图实现的目标,在服务器端执行此操作可能更有意义。

票数 1
EN

Stack Overflow用户

发布于 2019-04-27 07:28:30

您可以使用document.createElement()函数来创建HTML标记:

代码语言:javascript
复制
var e = document.createElement("h1");
e.innerHTML("heading");
document.body.appendChild(e);

或者,如果您想创建多个:

代码语言:javascript
复制
function create(text="",type="h1"){
    var e = document.createElement(type);
    e.innerHTML(text);
    document.body.appendChild(e);
}
create("heading one","h1");
create("heading two","h2");
create("heading three","h3");
create("heading four","h4");

这将创建以下内容:

代码语言:javascript
复制
<h1>Heading One</h1>
<h2>Heading Two</h2>
<h3>Heading Three</h3>
<h4>Heading Four</h4>

它还可以使用不同的类型,比如<p>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55875845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档