jsp页面中修改html元素内容关于单双引号的错误笔记


    $(document).ready(function () {
        <%
            if(rolesList!=null){
            StringBuffer sb = new StringBuffer();
            for(Role r:rolesList){
                sb.append("+"+"'
'+'"+r.getRoleName()+"'"+"+' '+"+"'"+r.getDisplayName()+"'+'
'"); // 输出若干行代码 } String html = sb.toString().substring(1); %> //$("#rolesList").html('
111
'); // 111 //$("#rolesList").html('
aaa
'); // aaa //$("#rolesList").html('
+'111'+
'); // 111 //$("#rolesList").html('
+'aaa'+
'); // error //$("#rolesList").html("
"+"'111'"+"
"); // '111' //$("#rolesList").html('
' + 'aaa' + '
'); // aaa //$("#rolesList").html("
"+"'aaa'"+"
"); // 'aaa' //$("#rolesList").html("
" + "'aaa'" + "
" + "
" + "'bbb'" + "
"); // 'aaa' 'bbb' $("#rolesList").html(<%=html%>); <%}%> });


结果示例:

AAA 测试角色
11 11
bbb 测试角色2
333 333

在js中用java语言结合html最容易让人搞混出错了,我总结出几点错误经验:

1、$("#ID").html() 的括号中最外层,必须是单引号或者双引号,即 $("#ID").html("xxx") ;  $("#ID").html('xxx')  


2、单双引号要交替包裹,不能用双引号包裹双引号,也不能单引号包裹单引号


3、要注意java语言中字符串需要用双引号包裹,但字符串变量在js中的值是不带最外层双引号的,


例如String str = "aaa", 但是 $.html(<%=str%>) = $.html(aaa); 若要得到aaa,则需要 $.html('+<%=str%>+');










你可能感兴趣的:(JavaWeb)