如何利用js向指定位置添加一个div层

RT,利用html链接的一个外部js在页面指定位置添加一个div层<html><body><divclass="1"><divclass=2>123</div><divc... RT,利用html链接的一个外部js 在页面指定位置添加一个div层

<html>
<body>
<div class="1">
<div class=2>123</div>
<div class=2 id="a">234</div>
</div>
</body>
</html>
如上代码 将<div class=3 id=b>798</div>这个div层插入到id为a的div层前面.
展开
 我来答
sunjinfu1987
2015-12-06 · TA获得超过3151个赞
知道大有可为答主
回答量:1218
采纳率:72%
帮助的人:410万
展开全部

1、利用js代码首先创建一个div,document.createElement('div');

2、确认div添加位置,可以在某个dom元素后面,或者通过css属性控制具体位置,主要通过left/top等属性控制。

3、确定位置之后,显示div即可。

示例:比如html中有一个文本输入框,我们现在需要在挨着输入框右下角位置显示一个div。

<input type="text" id="city" value="beijing"/>

方法:

function createDiv(){
    //首先创建div
    var descDiv = document.createElement('div');
    document.body.appendChild(descDiv);
    //获取输入框dom元素
    var text = document.getElementById('city');
    //计算div的确切位置
    var seatX = text.offsetLeft + text.offsetWidth;//横坐标
    var seatY = text.offsetTop + text.offsetHeight;//纵坐标
    //给div设置样式,比如大小、位置
    var cssStr = "z-index:5;width:420px;height:300px;background-color:#FFFF99;border:1px solid black;position:absolute;left:" 
    + seatX + 'px;top:' + seatY + 'px;';
    //将样式添加到div上,显示div
    descDiv.style.cssText = cssStr;
    descDiv.innerHTML = '这是一个测试的div显示的内容';
    descDiv.id = 'descDiv';
    descDiv.style.display = 'block';
}
felithuang
2014-07-27 · TA获得超过849个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:711万
展开全部

把外链接的JS加载到body后面,在这个JS里面用类似这样的代码:

var div = document.createElement('div'); // 新增元素
var diva = document.getElementById('a'); // 获取id为a的元素
diva.parentNode.insertBefore(div, diva); // 在这个元素前面增加上去
更多追问追答
追问
外链的代码  放在head头里面就不行了么?必须放在body后面?
追答
放在head里面的话就要延迟调用(比如在document.body.onload事件里调用)
否则直接在head里面引入,这时候div对象还不存在,是取不到的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suejohn
2015-11-27 · TA获得超过1176个赞
知道小有建树答主
回答量:1241
采纳率:0%
帮助的人:604万
展开全部
引用用jQuery会快一点,然后使用如下代码(可以修改对应的id和文字)
$("#targetLoc").append("<div>sample text</div>");

这个代码是帮你直接定位到指定的位置,然后后面添加div。
这个就可以达到你需要的目的了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-03-30 · TA获得超过82.9万个赞
知道大有可为答主
回答量:2602
采纳率:100%
帮助的人:174万
展开全部

把外链接的JS加载到body后面,在这个JS里面用类似这样的代码:

  1. var div = document.createElement('div'); // 新增元素
  2. var diva = document.getElementById('a'); // 获取id为a的元素
  3. diva.parentNode.insertBefore(div, diva); // 在这个元素前面增加上去

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nxn2382502
2015-11-14
知道答主
回答量:34
采纳率:100%
帮助的人:11.1万
展开全部

DOM提供了一个insertBefore方法用于在一个元素前面插入另一个元素。

下面我举一个例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo of insertBefore</title>
<head/>
<body>
<div id="PrintDiv">
<h1 id = "myh1">welcome to my homepage </h1> 
<p id="myp">paragrahp 1</p>
<p id="myp">paragrahp 2</p>
</div>
<input type="button" id="PrintButton" value="app start button" >
<script type="text/javascript">
 var old_div=document.getElementById("PrintButton");
   var parent=old_div.parentNode;//找到old_div的parent
   var new_div=document.createElement("div");
   var new_txt=document.createTextNode("随便写点内容,你也可以将这个字符串赋值该一个变量");   
   new_div.appendChild(new_txt);
   parent.insertBefore(new_div,old_div);  
   //alert(new_div.innerHTML);
<script>
</body>
</html>



123

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式