2013-01-24 45 views
-2

我正尝试在窗体中构建一个简单的开关。它只有一种方式。我在这里错过了什么,阻止了这段代码的工作?Var在“if”语句后不会更改

HTML

<div id="SlideJoinDiv" align="right" style="background-image: url(img/buttons/SchuifNederlandsBG.png"> 
<img width="87px" height="53px" src="img/buttons/SchuifjeKnop.png" id="SlideJoin" /> 
</div> 

jQuery的

$(document).ready(function() { 
    $('#SlideJoinDiv').click(function() { 
    var waardeStart = 'gast'; 
    var waardeType = $('#TypeAccount').attr('value'); 
    if (waardeType = waardeStart) { 
     $('#SlideJoinDiv').attr('align', 'left'); 
     $('#TypeAccount').attr('value', 'artist'); 
    } else { 
     $('#SlideJoinDiv').attr('align', 'right'); 
     $('#TypeAccount').attr('value', 'gast'); 
    } 
    }); 
+3

请让你的代码的可读性,即使用适当的缩进。 –

+0

在'if'语句中,“=”应该是“==”? – Shabab

+3

顺便提一句,[JS提示](http://www.jshint.com/)会向你显示赋值/比较错误(和其他)。这并不意味着反对投票,只是为未来的JavaScript问题提供建议。 (而且,为了清楚起见,目前的投票不是我的。) –

回答

4
waardeType = waardeStart 

应该是:

waardeType == waardeStart 

钻机现在你正在分配,你需要进行比较。

+0

他也有语法错误。他没有关闭'});'onDocReady – Ian

+0

@它是一个复制粘贴错误,而不是语法错误 –

+2

@jan:我们如何知道哪些错误是复制粘贴错误,什么是实际语法代码中的错误?我们当然只能回应*我们可以看到的*代码,除非有一个与工作代码连接的演示。 –

4

问题是在if

if (waardeType = waardeStart){ 

应该是:

if (waardeType == waardeStart){ 

说明:一个等号(=)是分配,两个等号(==)是比较。

+3

为了完整:'=='与类型转换进行比较,'==='没有类型转换进行比较,并且类型必须相同才能被视为相等。 – Nope

2
if (waardeType = waardeStart) 

是错误的。

使用

if (waardeType == waardeStart) 
2

应该是 “==” 代替 “=” 比较VS分配

此外,小错字在你的风格定义背景图片。

style="background-image: url('img/buttons/SchuifNederlandsBG.png');" 

,而不是

style="background-image: url(img/buttons/SchuifNederlandsBG.png" 
+0

你不需要围绕png文件的单引号。 –