我有一个需要用php脚本隐藏的div。这是我到目前为止编写的代码......但是我没有得到确切的结果......
<?php
$s = "2";
if($s == "1")
{
echo "empty fr";
?>
<script type="text/javascript">document.getElementById('#ts').style.display = 'none';</script>
<?php
}
?>
<div id="ts"><label for="terry">Text<input type="checkbox" name="Terry" id="terry" value="1" /></label></div>
答案 0 :(得分:2)
替换
document.getElementById('#ts').style.display = 'none';
通过
document.getElementById('ts').style.display = 'none';
答案 1 :(得分:2)
这里有两个问题。
首先,大多数回答者建议的那个。
document.getElementById('#ts').style.display = 'none';
你在这里不需要#
。删除它。
document.getElementById('ts').style.display = 'none';
但是,还有另外一件事。您在加载要隐藏的元素之前调用此代码,因此它无法正常工作。你必须要么
在元素隐藏后移动<script>
<div id="ts"><label for="terry">Text<input type="checkbox" name="Terry" id="terry" value="1" /></label></div>
<?php
$s = "2";
if($s == "1")
{
echo "empty fr";
?>
<script type="text/javascript">document.getElementById('#ts').style.display = 'none';</script>
<?php
}
?>
如果您发布的代码是该部分中的所有代码,则不会导致任何副作用,因为您没有在PHP的该部分中打印任何可见内容。
使用onload
事件。
<?php
$s = "2";
if($s == "1")
{
echo "empty fr";
?>
<script type="text/javascript">
window.addEventListener("load", function(){
document.getElementById('ts').style.display = 'none';
});
</script>
<?php
}
?>
<div id="ts"><label for="terry">Text<input type="checkbox" name="Terry" id="terry" value="1" /></label></div>
这会在页面加载时调用该函数。
答案 2 :(得分:0)
您在document.getElementById()
中不需要#
就像这样使用它
<script type="text/javascript">document.getElementById('ts').style.display = 'none';</script>
答案 3 :(得分:-1)
使用纯JavaScript #
方法调用时,您无需使用getElementById
字符。
所以,只需将您的电话改为:
document.getElementById('ts').style.display = 'none';
只有jQuery需要哈希字符,因为它使用Sizzle引擎作为选择器。
您可以详细了解方法调用here。