zoukankan      html  css  js  c++  java
  • html文本转化为html格式显示的问题

    在使用.net MVC,时,razor渲染可以帮助我们使用@value来将value的值加载到html文本中,但是,它是严格的字符串显示,即,如果value是“hello world”,他会将Hello world 替换到@value的位置。

    这个严格替换一定要注意。

    它带来的问题是,当我们在javascript中使用它的值时,var str=@value; 在解析或会变成var str=hello world,很明显,和普通的变量不同,他不会自动添加双引号,这样语法上是有问题的,执行时,javascript会报错。

    进一步,我们对它手动添加双引号var str="@value";当替换后,理论上是var str="@value"; 这样没问题,但是如果这个一个标签字符串则行不通,因为,会报错:字符串常量没有终止符,

    为什么呢?因为手动加的双引号是不能跨行的,而带html标签的字符串,标签中是有自动换行这种格式控制的,所以这样做并不安全,不健壮。

    显示html字符串,我们通常可以使用

    1.document.write(value);

    2.$("#table_div").html(value);

    但是@value作为参数传入,他不是一个字符串,所以会报语法错误,怎么正确输出一个html标签呢,下面是研究出来的解决方法

    使用隐藏标签<input id="hidden_table"  type="hidden" value="@value" />

    var str=$("hidden_table").val();

    $("#table_div").html(str);

    这样就可以将字符串转化为html啦。

    (使用document.write和$("#element").html只要传入html标签的文本就能正确解析,但是注意如果是@razor需要将@razor转化为字符串格式)

  • 相关阅读:
    一些大佬博客里的个签
    后缀子串排序
    PAT 1024 Palindromic Number[难]
    dp训练
    字符串最长子串匹配dp矩阵[转载]
    最短路径并查集+Floyd[转载]
    素数牛客网[求大数内所有素数]
    sql server 的规格参数,限制等 (zz)
    sql server varchar(max), NVARCHAR(MAX), VARBINARY(MAX) (zz)
    Oracle Data Types NVARCHAR2 (zz)
  • 原文地址:https://www.cnblogs.com/lbzhu/p/8022485.html
Copyright © 2011-2022 走看看