使用Javascript在特定div下面添加div

时间:2013-09-18 17:12:06

标签: javascript html

我有一些显示一些内容的类名fawas。实际上我必须在java脚本中添加Div下面的一些内容。请帮助我。

<div class="fawas">
    this is my name fawas khan.
</div>

我的javascript代码是

  

var dynamic =“这是我的联系电话。”;   var _body = document.getElementsByTagName('body')[0] .innerHTML   =动态的;

我得到的只是附加的div。

4 个答案:

答案 0 :(得分:2)

在纯javaScript中,通过className获取元素很难看。有关详细信息,请参阅How to Get Element By Class in JavaScript?

基本上,你需要这个功能:

function getElementsByClass(tagType, className) {
    var elems = document.getElementsByTagName(tagType);
    var returns = [];
    for (var i in elems) {
        if ((' ' + elems[i].className + ' ').indexOf(' ' + className + ' ') > -1) {
            returns.push(elems[i]);
        }
    }
    return returns;
}

一旦你有了,其余的也不错:

var dynamic = document.createElement("div");
dynamic.innerHTML = "this is my contact number.";

var elements = getElementsByClass("div", "fawas");
if (elements.length > 0) {
    // just change the first, as you did in your post
    elements[0].parentNode.insertBefore(dynamic, elements[0].nextSibling);
}

我动态创建你的新div,而不仅仅是文本字符串。

然后,我得到你想要插入的元素的父元素,在你选择的元素之后的任何元素上使用insertBefore函数。

Here is a working fiddle

正如其他人向您展示的那样,使用jQuery可以更清晰。我不知道node.js是否知道它是否具有更方便的功能,所以我提供了一个纯粹的JS解决方案。

答案 1 :(得分:1)

如果您对jQuery解决方案感兴趣,请参阅Fiddle

<div class="fawas">
  this is my name fawas khan.
</div>


$(function(){
  var dynamic = ('this is my contact number.');
  $('.fawas').after('<div class="fawas2">'+dynamic+'</div>');
});

答案 2 :(得分:0)

你的HTML应该是,

<div class="fawas">
    this is my name fawas khan.
</div>
<div id="fawas-2">
</div>

你的脚本应该是,

<script type="text/javascript">
var dynamic = "this is my contact number."; 
document.getElementById('fawas-2').innerHTML =dynamic;
</script>

答案 3 :(得分:0)

你可以这样做

var oldcontent = document.getElementsByTagName('body')[0] .innerHTML;

document.getElementsByTagName('body')[0] .innerHTML = oldcontent + dynamic

动态是您要添加的内容