【发布时间】:2014-09-09 13:26:14
【问题描述】:
当运行这个 php 脚本时:
$doc = new DOMDocument();
$doc->loadHTMLFile("../counter.html");
$ele2 = $doc->getElementById ( "coupon_id" );
if($ele2){
$ele2->nodeValue = $result["coupon_code"];
}
$response["list"]= $doc->saveHTML();
$ele2 在我的网络服务器上被发现为空,因此它不会进入 if 条件,但它在我的本地服务器上工作正常。这是我的 counter.html 文件:
<div class="panel panel-success">
<div class="panel-heading">
<h3 id="coupon" class="panel-title">Coupon name 1</h3>
</div>
<p id="coupon_id" hidden>coupon id</p>
<div id="counter-up" class="panel-body">
0
</div>
</div>
我已经通过以下操作确保 html 文件已成功加载:echo "<pre>".$doc->saveHTML()."</pre>";
【问题讨论】:
-
我认为,您在 DOM 完全加载/准备好之前访问 DOM 元素。
-
您尝试加载的文件是否找到并成功加载?
-
@prava 我认为您没有阅读问题。这是PHP。
loadHTMLFile是同步的。 -
您检查错误日志了吗?您是否启用了所有错误和警告?你比较过 PHP 版本和安装的模块吗?
-
评论this answer可能对你有帮助