PHP相当于这个Javascript

时间:2013-04-29 03:25:11

标签: php javascript attributes getelementbyid

我有一个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('');
  }
?>

我认为这远远不是正确的,但老实说我找不到关于这类任务的“简单”资源/帖子 - 其他问题/答案似乎比我需要或理解得更深,而且我我迷路了。所以,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

在PHP中使用“getElementById”是无效的,因为PHP是在服务器中执行的,而不是在客户端中执行的,因此,您尝试使用服务器语言访问客户端Web浏览器上的html对象(PHP )。我建议你学习DOM操作和Ajax,以便用XMLHttpRequest对象“通信”Javascript和PHP。