我有一些显示一些内容的类名fawas。实际上我必须在java脚本中添加Div下面的一些内容。请帮助我。
<div class="fawas">
this is my name fawas khan.
</div>
我的javascript代码是
var dynamic =“这是我的联系电话。”; var _body = document.getElementsByTagName('body')[0] .innerHTML =动态的;
我得到的只是附加的div。
答案 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
函数。
正如其他人向您展示的那样,使用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
动态是您要添加的内容