zoukankan      html  css  js  c++  java
  • 页面换行大学问

    页面的qtip显示需要换行显示,最初的代码:

    var tip = v.replace(/ /g,'</br>');
    return '<span qtip="'+Ext.util.Format.htmlEncode(tip)+'">' + Ext.util.Format.htmlEncode(v) + '</span>';

    代码思路:将传过来的字符串的 转化为 </br>,用html解析即可显示

    问题:正常情况下,的确是很ok的,但是遇到特殊字符后,就有问题了

              比如:字符串为:<a>aaa</a> <a>bbb</a>        然后发现<a></a>都显示不出来了

              分析:html将<a></a>解析为标签元素了。。。。

    探寻之路: 既然将<a></a>解析了,那么将其再解析一下即可:

          var encode = Ext.util.Format.htmlEncode;

          encode(encode(v));

    此时<a></a>是解析出来了,换行也有了,但是</br>也给解析出来了。。。

    至少明白了一点:encode(encode())可以将字符串解析为html显示,且将其再转化为原始显示

    经过上述的探寻,答案也浮出水面:

    思路:现将字符串解析,在将‘ ’替换为 '</br>',再将其encode一次,这样</br>会被解析为换行符,字符串中本来的字符也会显示出来,不会被解析掉了。

    encode(encode(v).replace(/ /g, '</br>'));

  • 相关阅读:
    Java 1 (JVM、JRE、JDK之间的关系)
    Java 0 (jdk下载安装及环境配置)
    推荐之链接
    idea 2019激活码
    Mock数据使用的Util
    mybatis慢查询配置
    logback参考配置
    Linux网络实时监控配置
    jmeter插件JMeterPlugins-Standard 压力测试
    ZoneDateTime 转换Date
  • 原文地址:https://www.cnblogs.com/xnn1993/p/7230923.html
Copyright © 2011-2022 走看看