jquery – 包含在div中的每行内容

前端之家收集整理的这篇文章主要介绍了jquery – 包含在div中的每行内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法解决 provemath上的内容未按要求呈现的问题.

问题是书面内容中的每一行(第一行除外)都包含在< div>中.例如,内容

line1.
line2.

正如您在Safari中看到的,Web检查器实际上呈现为< p> line1.< div> line2.< / div>< / p>. DESIRED输出是< p> line1.< br> line2.< / p>.

有一些事情可以在这里发挥作用……

>我不确定浏览器如何处理输入的换行符.
>我的内容呈现功能(包含在下面)运行Markdown(实际上是marked)和一些正则表达式.
> CSS(包含在下面)操纵一些事物的显示方式,我想知道它是否会导致HTML本身发生变化.我以前认为使用flexBox导致了这一点,但我改变了CSS无济于事.

内容呈现如下:

内容用户输入(命中RETURN表示新行)并使用jQuery的.html函数捕获

blind.value = $value.html()

获取内容,然后处理

function render_content(string) {
    // make all \ into \\ instead,so that they will be \ again when marked is done. This is for MathJax postrender compatability.
    string = string.replace(/\\/g,'\\\\')
    string = string.replace(/\n/g,'<br />') // not doing anything AFAIK
    string = marked(string)

    string = string.replace(/img(\d+)/g,'<img src="image/$1.jpg" />')
    string = string.replace(/\\includegraphics\{(.*?)\}/g,'<img src="image/$1.jpg" />')

    return string
}

CSS如下:

.value {
        // display: inline-flex;
        display: inline;
        // flex-direction: column;
        vertical-align: top;
        width: 85%;
    }

你可以看到旧的CSS注释掉了.

解决方法

你为什么要在’换行’之前处理’反斜杠’?你试过这个吗?
string = string.replace(/\n/g,'<br />')
string = string.replace(/\\/g,'\\\\')
string = marked(string)

猜你在找的jQuery相关文章