有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java实体名称无法正常工作

尝试将html转换为xhtml,但当我将大于号更改为&gt;时,我的if语句不再有效。用&<符号表示相同的故事。Cdata也不起作用

function length(elem){
    var input = elem.value;
    if(input.length &gt; 8){
        return true;
    }
    else{
        alert("Please enter equal to or more than 8 characters for username");
        return false;
    }
}

共 (2) 个答案

  1. # 1 楼答案

    没有理由“逃避”>字符,在HTML、XHTML或XML中,除非为了与“<;对称而这样做,这通常需要逃脱

    在XHTML中,script的内容被视为#PCDATA,这意味着实体引用被识别。所以&gt;是可以的,但这只适用于真正将文档作为XHTML处理的浏览器;实际上,您需要声明一个XML内容类型,并接受旧版本的IE会被它阻塞的事实。显然,你没有这样做,所以实际上HTML规则是适用的,script内容被解析为纯文本,浏览器的JavaScript解释器得到字面上的&gt;和呕吐物。在HTML模式下,不管doctype看起来是怎么说的,CDATA节都是混乱的数据

    所以正如@Quentin所建议的,不要使用XHTML。如果实际上需要使用XHTML,请使用外部脚本

  2. # 2 楼答案

    简单的解决方案:不要使用XHTML。在大多数情况下,这比它的价值要麻烦得多

    失败:将JS保存在外部文件中,并通过src加载它们

    如果做不到这一点,请参阅the compatibility guidelines以编写XHTML,然后将其作为HTML处理