如果条件不工作,则$(document).ready(function()


if conditions are not working while $(document).ready(function()

我尝试了下面的代码来显示一些div。

<?
$uri=$_SERVER['REQUEST_URI'];
$uri=explode('/',$uri);
$uri=$uri[4];
echo $uri;
?>
<script type="text/javascript">
$(document).ready(function() {
var ty=<?=json_encode($uri);?>;
if(ty="gen")
{
  alert("gen");
}
else if(ty="cc")
{
  alert("cc");
}
else
{
  alert("not gen");
}
});
</script>

$uri value将类似于/site/view-wall/type/gen/id/6。类型变量可以更改为vo,cc,fr等。如果我将网址更改为www.example.com/site/view-wall/type/cc/id/6,我将收到警报"gen",而不是"cc"。我总是警惕"gen"。if条件不工作。我想不出简单的if条件:(

任何帮助都应该感激!

你正在设置变量值,你必须使用double equal ==来比较

在JavaScript中,=====用于比较;你正在使用=,它设置变量的值。当你这样做时:

if(ty="gen")
{
  alert("gen");
}

这相当于这样做:

ty = "gen";
if(ty) {
    alert("gen");
}

所有非空字符串都是真值,所以你的条件总是成功的。

要修复它,将所有条件中的=更改为=====