Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DOM/Javascript:在标记后获取文本_Javascript_Dom - Fatal编程技术网

DOM/Javascript:在标记后获取文本

DOM/Javascript:在标记后获取文本,javascript,dom,Javascript,Dom,如何获取html文档中标记后的文本“there”: <p><a>hello</a>there</p> 但我不使用xpath,我希望不必为此而开始。我意识到我可以得到p标记内的所有文本,但我只想得到“there”文本,以及它与p和a标记的关系。它似乎不是任何人的孩子或兄弟姐妹。(您可以假设我可以获得任何其他元素/节点,因此它可以与这些元素/节点相对。)每个DOM教程似乎都忽略了一个事实,即文本可以出现在标记之外 谢谢。什么样的 用这个 这是您的H

如何获取html文档中标记后的文本“there”:

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

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

谢谢。

什么样的

用这个

这是您的HTML--


您可以使用lastChild和textContent来获取它:

您必须首先获取a属性innerhtml,然后使用子字符串获取整个innerhtml。您可以使用其中的部分

$(document).ready(function () {
var getA=$("p >a").text();
var getA=getA.length;
var takeTotal=$("p").text();
var result=takeTotal.substring(get);
alert(result);
});

如果你使用jQuery,有一种很隐蔽的方法可以得到这个结果

x=$(“hellother

”)


x.contents()[1]

您可以找到父标记的子标记:

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

最后,您可以在
text
节点后的
text
节点中找到您的文本。

您链接到的问题是使用PHP-您正在使用PHP吗?还是只是JavaScript?只是JavaScript。所以这个答案不起作用的另一个原因!是的,其实很简单:)“有一个P的孩子。出于某种原因,这对我不起作用。谢谢
alert(document.getElementById("there").lastChild.textContent)​
alert(document.getElementById("there").childNodes[1].textContent)​
$(document).ready(function () {
var getA=$("p >a").text();
var getA=getA.length;
var takeTotal=$("p").text();
var result=takeTotal.substring(get);
alert(result);
});
var pTag = ...
var childNodes = pTag.childNodes;