使用DOM (getElementById help)从具有特定id的Div中获取文本


Get Text from a Div with specific ID's using DOM (getElementById help)

我有以下代码片段,我试图从:

<span class="article-title1"><div id="user-sub-summary">Love to get text</div></span>
<div id="user-sub-intro"><p>this is my intro paragraph</p></div>

我正在尝试获取id为"user-sub-summary"的文本。最终,我将获得这个文本并将其显示在一个可编辑的文本框中,以便人们可以根据需要更改它。

我现有的代码看起来像这样($intro =上面的HTML片段):

$dom = new DOMDocument;
$dom->loadHTML($intro);
var_dump($dom->getElementById('user-sub-summary'));

这只是在页面上返回'NULL' -但我不知道为什么。我试着在这里搜索,我试着在谷歌上搜索,我到处都找遍了,试图弄清楚这个问题,但一无所获。

您需要声明一个doctype。100402年http://www.php.net/manual/en/domdocument.getelementbyid.php

在解析之前验证数据始终是一个好做法。

$dom->validateOnParse = true

第一:我建议使用javascript框架(JQuery)

second:确保DOM加载完成。

$(document).ready(function(){
    alert($("#user-sub-summary").html());
});

希望能有所帮助

如果您正在使用动态HTML或jQuery,请确保在尝试'get'或选择它之前将动态对象附加到文档模型。也就是说,Javascript的getElementById方法搜索附加到文档根的DOM对象(直接或通过相互附加的其他对象)。

在Javascript中,请看这里的一个附加动态内容的例子。在第11行之后插入alert(currentDiv.innerHTML);以查看所需的文本。

在jQuery中,使用(其中"parentId"是附加到DOM文档根的对象的Id):

var childObject = $('<div id="childId">Text</div>');
$("#parentId").append(childObject);
alert( $("#childId").text() );

alert( childObject.text() );

对于user744186的评论,我假设它在客户端上运行。