0

当值不相等时,我想使用 javascript 隐藏 ID 为 apDiv1 的 div,我正在使用以下代码。但它不起作用。

<script>
/* <![CDATA[ */
if (#{sessionScope['userdet']['email']}!=#{sessionScope['frienddet']['email']}){
$('#apDiv1').hide();
}
/* ]]> */
</script>

渲染后的代码如下:

<script>
    /* <![CDATA[ */
    if (amlan@ymail.com != atinr4@gmail.com){
     $('#apDiv1').hide();
    }
    /* ]]> */
</script>
4

2 回答 2

1

呈现的代码不是有效的 JS - 您在if条件上有语法错误,因为您需要引用包含电子邮件地址的字符串。也就是说,您呈现的代码应如下所示:

if ("amlan@ymail.com" != "atinr4@gmail.com"){

或者您可以使用单引号,JS 允许使用任何一种(只要它们匹配任何特定的字符串文字)。

我不知道您的源语言是什么,但我假设您可以通过以下方式获得所需的渲染结果:

if ("#{sessionScope['userdet']['email']}"!="#{sessionScope['frienddet']['email']}"){

编辑:您是否在页面中包含 jquery.js 文件?您没有在问题上使用 jquery 标记,但该$("#apDiv1").hide()部分使用 jQuery 函数$().hide(). 如果您没有 jQuery,请尝试以下操作:

document.getElementById("apDiv1").style.display = "none";

此外,如果脚本块出现在它之后,或者如果您将代码包装在文档就绪处理程序中,您显示的代码将只能找到 div,如下所示(尽管这也假设 jQuery 可用):

$(document).ready(function() {

    // your other code here    
});

使用 onload 处理程序的非 jQuery 版本:

window.onload = function() {

    // your other code here
};
于 2013-03-23T10:43:36.700 回答
1

您需要将 2 个(电子邮件)值括在引号中

于 2013-03-23T10:44:08.027 回答