我有一个HTML模板,其中DIV持有schema.org标记。 DIV内容已填充 通过PHP但是当我们缺少要放入的数据时,一些DIV会留空/空。目前,我们可以通过使用下面的javascript检查字段长度来隐藏DIV - 但是,因为它是客户端,Google的丰富数据测试工具仍然会在代码中看到schema.org标记,其内容缺失/为空,并且抱怨缺少数据。
所以,我需要在处理之前将DIV隐藏为空,服务器端。我无法弄清楚这个Javascript检查的PHP等价物。
使用JAVASCRIPT方法
<script>
var inside = document.getElementById("persona");
if(inside.innerHTML.length < 1) {
document.getElementById("staffm").style.display = "none";
} else {
document.getElementById("staffm").style.display = "block";
}
</script>
我试图使用的可疑PHP代码(三十亿个版本)
<?php
$div = getElementById('staffm');
if (ob_get_length($div) < 1) {
$div->setAttribute("style", "display:none");
} else {
die('');
}
?>
我认为这远远不是正确的,但老实说我找不到关于这类任务的“简单”资源/帖子 - 其他问题/答案似乎比我需要或理解得更深,而且我我迷路了。所以,任何帮助将不胜感激。
答案 0 :(得分:4)
在PHP中使用“getElementById”是无效的,因为PHP是在服务器中执行的,而不是在客户端中执行的,因此,您尝试使用服务器语言访问客户端Web浏览器上的html对象(PHP )。我建议你学习DOM操作和Ajax,以便用XMLHttpRequest对象“通信”Javascript和PHP。