用JavaScript在标签内生成HTML
Generating HTML within a tag by JavaScript
如果我有一个html代码块,我想使用一个循环来生成<div item>
并将其放在body标签中。我知道如何写一个脚本来写html。但是我怎么告诉我的脚本把它放在body标签?
我正在使用Boostrap,我对jquery和纯js解决方案都是开放的。
<body>
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<div class="item active">
<img src="../assets/img/examples/slide-01.jpg" alt="">
<div class="container">
<div class="carousel-caption">
<h1>Example headline.</h1>
<p class="lead">vehicula ut id elit.</p>
</div>
</div>
</div>
<div class="item">
<img src="../assets/img/examples/slide-03.jpg" alt="">
<div class="container">
<div class="carousel-caption">
<p class="lead">ies vehicula ut id elit.</p>
</div>
</div>
</div>
</div>
</div>
<body>
var div = document.createElement("div");
document.body.appendChild(div);
不太理想的方式是:
document.write(...)
或. .
document.body.appendChild(...)
如果你使用的是jquery之类的东西,你可以这样做:
$('body').append(...)
其中data
为html:
$('body').append(data);
试试jQuery .append这里有一个链接....
http://api.jquery.com/append/仅使用Javascript:
<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);
var element=document.getElementById("div1");
element.appendChild(para);
</script>
可以使用Node.appendChild
var element = document.createElement("div");
element.textContent = "some text";
document.body.appendChild(element);
在jsfiddle 首先,您需要允许您按类选择元素的函数。document.querySelectorAll
应该做的伎俩,但它不支持在某些浏览器(如旧版本的IE)。
然后可以使用Node.appendChild
函数移动所选元素。代码看起来像这样:
var items = document.querySelectorAll("div.item"), i;
for (i = 0; i < items.length; i++) {
document.body.appendChild(items[i]);
}
你可以遍历你的数组来创建你想要的div。下面的示例显示了获取body标记并创建div,然后将它们添加到body中。你也可以设置innerHTML和任何你想要的属性。
var createDivs = function() {
var body = document.body;
for(var i = 0, l = 10; i < l; i++)
{
var div = document.createElement('div');
div.innerHtml = 'Some Text'; //set inner html of the div
div.setAttribute('class', 'testClass'); //set attributes of the div
body.appendChild(div);
}
}
这是一个jsFiddle的例子:
JSFiddle
如果你使用的是jQuery,你可以按照下面的方法来做。
var createDivs = function() {
var myArray = [1,2,3,4,5,6,7,8,9,10];
var body = $('body');
$.each(myArray,function(index, value) {
body.append($('<div class="testClass" id="' + index + '">Some Text</div>'));
});
}
这里有一个JSFiddle的例子
jQuery示例相关文章:
- 如何在tinymce编辑器中将点击事件绑定到html标签
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 带有html标签的Summernote内容
- 为什么我的HTML标签消失了
- 如何忽略单词like“”中的未使用空格;测试-文本”;同时构建html标签
- 在AngularJS中过滤-html标签中的文本
- 如何在另一个 html 标签内选择 web 元素硒 Web 驱动程序与 html 源
- 我怎么能"合并”;两个HTML标签
- JavaScript if else 语句来显示 html 标签
- 在 JavaScript 中实现 HTML 标签
- 如何用jQuery替换HTML标签的一部分
- 在javascript文件中编写html标签而不是“text”
- 窗口确认在 AJAX 帖子中打印 HTML 标签
- 如何在javascript函数中弹出php(与html标签混合)文件
- HTML标签的问题与Javascript一致
- 使用Javascript获取所有html标签
- 如何从JavaScript外包HTML标签
- Ckeditor:如何在mysql中避免使用Ckeditor中的html标签来节省时间
- 如何在 jquery 和 javascript 中检索 html 标签属性
- 如何获取html标签的字体大小