DOMJavascript:获取标签后的文本

问题描述 投票:8回答:6

如何在html文档中获取标签后的文字 "there"。

<p><a>hello</a>there</p>

我看到有一种方法可以用xpath来实现。

从下一个标签中获取文本

但我没有使用 xpath,希望不必为此而开始。我意识到我可以得到p标签内的所有文本,但我只想得到 "那里 "的文本,以及知道它与p和a标签的关系。它似乎不是任何人的孩子或兄弟姐妹。你可以假设我可以得到任何其他的元素节点,所以它可以与这些元素相对)。 每个DOM教程似乎都忽略了文本可以出现在标签之外的事实。

谢谢。

javascript dom
6个回答
7
投票

类似于 这个?

var p = document.getElementsByTagName("p")[0];
alert(p.childNodes[1].textContent)

5
投票

用这个. http:/jsfiddle.net2Dxy4

这是你的HTML --

<p id="there">
   <a>hello</a>
   there
</p>​

在你的JS

alert(document.getElementById("there").lastChild.textContent)​

alert(document.getElementById("there").childNodes[1].textContent)​

0
投票

你可以用lastChild和textContent来获取。http:/jsfiddle.netM3vjR


0
投票

如果你使用jQuery的话,有一个偷偷摸摸的方法可以得到这个功能。

x = $("<p><a>hello</a>there</p>") x.contents()[1]


0
投票

你可以找到你的父标签的子标签。

var pTag = ...
var childNodes = pTag.childNodes;

最后,你可以在一个 text 节点 a 节点。


-1
投票

你要先得到a属性的innerhtml,然后取总innerhtml与使用substring你可以有你的那里部分。

$(document).ready(function () {
var getA=$("p >a").text();
var getA=getA.length;
var takeTotal=$("p").text();
var result=takeTotal.substring(get);
alert(result);
});
© www.soinside.com 2019 - 2024. All rights reserved.