请教DOM节点问题!

kisslan 2003-08-28 10:49:38
小弟在编辑器中遇到一个问题,就是如何能得到一段选中文本的上级节点(父节点).
就是根据文本知道它的节点是什么??
比如:"<b>这是一段文本</b>",这段代码在编辑器中只会显示文本,如果选中"这是一段文本"这段文字.我用什么方法才能知道它的节点是"<b>"呢??
请各位大侠不吝赐教!
...全文
44 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
missair 2003-08-28
  • 打赏
  • 举报
回复
.parentElement.tagName
missair 2003-08-28
  • 打赏
  • 举报
回复
obj.parentElement
cloudchen 2003-08-28
  • 打赏
  • 举报
回复
parentNode
xuzuning 2003-08-28
  • 打赏
  • 举报
回复
想文本开始的方向查找第一个未封闭的起始标记
blues-star 2003-08-28
  • 打赏
  • 举报
回复
只有元素(标记)才会形成对象,而你说的文字,是这个对象的某个属性,并且是字符串类型。
字符串类型(String对象)是没有parentElement属性的。
所以依照你的说法,需要遍历DOM中的对象,找到相应属性值为"这是一段文本"的对象,这个对象就是你所想要找的。

我说的意思就是<b><i>这是一段文本</i></b>,可以找到<i>元素的父节点是<b>元素(通过parentElement属性),但是无法知道"这是一段文本"这个字符串的父元素究竟是<i>,还是其他地方的<td>等等,因为他本身不是元素,不具有标记的能力。

依照你的意思,我想最好的方法就是。。。。
<b onselectstart="res.innerText = event.srcElement.tagName">这是一段文本</b><br>
<i onselectstart="res.innerText = event.srcElement.tagName">这是一段文本</i><br>
<div id="res"></div>

但是,这样能找到的原因绝对不是"这是一段文本"这个字符串的能力所致。

87,987

社区成员

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

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