js parentNode.insertBefore 插入问题

arorn 2008-10-16 02:33:19

<script type="text/javascript">
function insert(obj){
if (obj.parentNode.getElementsByTagName('div')[0])
{
obj.parentNode.getElementsByTagName('div')[0].removeNode(true);
}
var div=document.createElement('div');
div.id='ok';
div.innerHTML='插入的内容';
obj.parentNode.insertBefore(div,obj.parentNode.getElementsByTagName("br")[0]);
}
</script>
<body>
<div>
1<a href="#" onclick="insert(this);return false;">点</a><br/>
2<a href="#" onclick="insert(this);return false;">点</a><br/>
3<a href="#" onclick="insert(this);return false;">点</a><br/>
4<a href="#" onclick="insert(this);return false;">点</a><br/>
</div>
</body>


我想要点1的时候,插入内容显示在1下面,点2.内容出现在2下面..
现在不管点那个都出现在1下面,
请高手帮我讲解一下
if (obj.parentNode.getElementsByTagName('div')[0])
{
obj.parentNode.getElementsByTagName('div')[0].removeNode(true);
}
这一段的意思.不是明白if里面的obj.parentNode.getElementsByTagName('div')[0]这一段是什么意思
...全文
1829 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eagle_ice 2008-10-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 showbo 的回复:]
if (obj.parentNode.getElementsByTagName('div')[0])
{
obj.parentNode.getElementsByTagName('div')[0].removeNode(true);
}


你这句就是删除第一个div


obj.parentNode.insertBefore(div,obj.parentNode.getElementsByTagName("br")[0]);

这句就是插入到第一个br前面。。。。。
[/Quote]
确实...
bob_er 2008-10-27
  • 打赏
  • 举报
回复
insertAdjacentHTML和insertAdjacentText
insertAdjacentHTML方法:在指定的地方插入html标签语句

原型:insertAdajcentHTML(swhere,stext)

参数:

swhere: 指定插入html标签语句的地方,有四种值可用:

1. beforeBegin: 插入到标签开始前

2. afterBegin:插入到标签开始标记之后

3. beforeEnd:插入到标签结束标记前

4. afterEnd:插入到标签结束标记后



javascript之家,是新起的JS角本程序学习站点;
该站详细分类JS的基础,对象,极其应用;

http://www.ccscript.cn/

该站有多种当今流行的JS框架;
站内主打Jquery框架的基础及应用;
包括特效代码和展示特效;
站内同时提供多种其它WEB开发服务应用;
Go 旅城通票 2008-10-16
  • 打赏
  • 举报
回复
if (obj.parentNode.getElementsByTagName('div')[0])
{
obj.parentNode.getElementsByTagName('div')[0].removeNode(true);
}



你这句就是删除第一个div


obj.parentNode.insertBefore(div,obj.parentNode.getElementsByTagName("br")[0]);

这句就是插入到第一个br前面。。。。。
arorn 2008-10-16
  • 打赏
  • 举报
回复
我上面的那种方式有问题吗?两种方式有什么区别啊?
阿云ivan 2008-10-16
  • 打赏
  • 举报
回复
楼上正解
Click_Me 2008-10-16
  • 打赏
  • 举报
回复

<script type="text/javascript">
function insert(obj){
var div=document.createElement('div');
div.id='ok';
div.innerHTML='插入的内容';
obj.appendChild(div);
}
</script>
<body>
<div>
1<a href="#" onclick="insert(this);return false;">点</a><br/>
2<a href="#" onclick="insert(this);return false;">点</a><br/>
3<a href="#" onclick="insert(this);return false;">点</a><br/>
4<a href="#" onclick="insert(this);return false;">点</a><br/>
</div>
</body>

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧