简单Javascript if语句问题

简单Javascript if语句问题,javascript,syntax,weblogic,Javascript,Syntax,Weblogic,我确信解决办法显而易见,但我已经花了一个小时在瞎琢磨,所以我真的非常感谢任何帮助 如果变量loggedin=“true”,则以下javascript旨在使一个div可见,另一个div不可见: Lorem ipsum dolor sit amet,奉献精英。 Lorem ipsum dolor sit amet,奉献精英。尼莫·埃尼姆·伊普萨姆·沃鲁帕特(Nemo enim ipsam Voluptate)是一个自命不凡、自命不凡的人。 我认为问题在于调用showArticle函数,对吗?将

我确信解决办法显而易见,但我已经花了一个小时在瞎琢磨,所以我真的非常感谢任何帮助

如果变量loggedin=“true”,则以下javascript旨在使一个div可见,另一个div不可见:


Lorem ipsum dolor sit amet,奉献精英。
Lorem ipsum dolor sit amet,奉献精英。尼莫·埃尼姆·伊普萨姆·沃鲁帕特(Nemo enim ipsam Voluptate)是一个自命不凡、自命不凡的人。

我认为问题在于调用showArticle函数,对吗?

=
更改为
=
,看看这个(javascript操作符)


它应该是
if(a==b)
,而不是
if(a=b)
:后者将
b
的值赋给变量
a
(然后使用
b
的值来确定是否运行if条件,在您的示例中总是如此)。

而不是loggedin=“true”以loggedin的形式编写==“true”

用javascript隐藏内容真是新手。但如果你想这样做,我建议你删除内容

使用

而不是

document.getElementById('summary').style.display = 'none';

我把你的代码复制到一个文本文件中,并尝试了一下——结果它出现了问题

我将javascript放在html上方的脚本标记中

<html>
<body>

<script>
function showArticle()
{
document.getElementById('full').style.display = 'block';
document.getElementById('summary').style.display = 'none';
}
var loggedin="true";
var owned="true";
if (loggedin="true")
{
document.write("Logged In");
}
if (owned="true")
{
    showArticle();
}

</script>

<!-- HTML -->
<div id="summary">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>

<div id="full" style="display:none;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur.
<div>


</body>
</html>

函数showArticle()
{
document.getElementById('full').style.display='block';
document.getElementById('summary').style.display='none';
}
var loggedin=“true”;
var owned=“true”;
如果(loggedin=“true”)
{
文件。写入(“登录”);
}
如果(owned=“true”)
{
showArticle();
}
Lorem ipsum dolor sit amet,奉献精英。
Lorem ipsum dolor sit amet,奉献精英。尼莫·埃尼姆·伊普萨姆·沃鲁帕特(Nemo enim ipsam Voluptate)是一个自命不凡、自命不凡的人。
这会失败,因为当javascript运行时,div标记尚未添加到DOM中,因此getElementById返回null。我通过在Firebug/Firefox中调试javascript发现了这一点

如果我将javascript移到html之后,它就会工作,因为DOM随后会加载这些项目

<html>
<body>
<!-- HTML -->
<div id="summary">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>

<div id="full" style="display:none;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur.
<div>

<script>
function showArticle()
{
document.getElementById('full').style.display = 'block';
document.getElementById('summary').style.display = 'none';
}
var loggedin="true";
var owned="true";
if (loggedin="true")
{
document.write("Logged In");
}
if (owned="true")
{
    showArticle();
}

</script>
</body>
</html>

Lorem ipsum dolor sit amet,奉献精英。
Lorem ipsum dolor sit amet,奉献精英。尼莫·埃尼姆·伊普萨姆·沃鲁帕特(Nemo enim ipsam Voluptate)是一个自命不凡、自命不凡的人。
函数showArticle()
{
document.getElementById('full').style.display='block';
document.getElementById('summary').style.display='none';
}
var loggedin=“true”;
var owned=“true”;
如果(loggedin=“true”)
{
文件。写入(“登录”);
}
如果(owned=“true”)
{
showArticle();
}
为我工作(UPD):


window.onload=函数(){
函数showArticle()
{
document.getElementById('full').style.display='block';
document.getElementById('summary').style.display='none';
}
var loggedin=true,owned=true;
如果(loggedin==true)
{
文件。写入(“登录”);
}
if(owned==true)
{
showArticle();
}
}
哞
福
那么,怎么了

  • 未关闭的
    (第二个)
  • 用拨款代替比较(
    =
    代替
    =
  • 字符串而不是布尔值(
    “true”
    vs
    true
  • 脚本没有类型(您应该始终设置它。它只是一个标准:
  • 脚本应该在
    标签中(它也是一个标准)
  • 您试图访问尚未加载的对象

您知道,任何具有最低技术知识的人都可以在不登录的情况下查看文章吗?如果这是JavaScript,为什么会将其标记为[php]、[mysql]、[project planning]和[Specification]…?Victor,我知道-这个系统只是一个概念证明/原型,演示了功能:)使用“=”将被解释为assign语句,并将变量分配给if子句中的一个值,并将其值作为布尔值进行计算。如果您指定为“true”,则If将始终运行。感谢Mattcha,但是If(owned==true){showArticle()}*似乎仍然不起作用。(也就是说,如果我改为使用document.write,它会按预期那样做,但是showArticle函数不起作用。)太棒了,克里斯!这确实是个骗局。事后看来是有道理的
document.getElementById('summary').innerHTML = '';
document.getElementById('summary').style.display = 'none';
function showArticle()
{
    document.getElementById('full').style.display = 'block';
    document.getElementById('summary').style.display = 'none';
}
var loggedin = true;
var owned = true;
if (loggedin == true)
{
    alert("Logged In");
}
if (owned == true)
{
    showArticle();
}
<html>
<body>

<script>
function showArticle()
{
document.getElementById('full').style.display = 'block';
document.getElementById('summary').style.display = 'none';
}
var loggedin="true";
var owned="true";
if (loggedin="true")
{
document.write("Logged In");
}
if (owned="true")
{
    showArticle();
}

</script>

<!-- HTML -->
<div id="summary">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>

<div id="full" style="display:none;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur.
<div>


</body>
</html>
<html>
<body>
<!-- HTML -->
<div id="summary">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>

<div id="full" style="display:none;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur.
<div>

<script>
function showArticle()
{
document.getElementById('full').style.display = 'block';
document.getElementById('summary').style.display = 'none';
}
var loggedin="true";
var owned="true";
if (loggedin="true")
{
document.write("Logged In");
}
if (owned="true")
{
    showArticle();
}

</script>
</body>
</html>
<html>
<head>

<script type="text/javascript">
window.onload = function() {
    function showArticle()
    {
        document.getElementById('full').style.display = 'block';
        document.getElementById('summary').style.display = 'none';
    }

    var loggedin = true, owned = true;

    if (loggedin == true)
    {
        document.write("Logged In");
    }

    if (owned == true)
    {
        showArticle();
    }
}
</script>
</head>

<body>
<!-- HTML -->
<div id="summary">moo</div>
<div id="full" style="display:none;">foo</div>

</body>
</html>