镜像HTML的CSS Attr到Codemirror(插入新行)

时间:2014-01-26 03:00:37

标签: javascript jquery

小提琴 - http://jsfiddle.net/Mukdf/

今天我决定将一个html的css attr镜像到Codemirror,看看它是否可以渲染干净的CSS,而不是全部在一行上。

这是被镜像到Codemirror的CSS ...

display: inherit; position: absolute; top: 20px; left: 19px; margin: 10px; width: 340px; height: 234px; padding: 1em; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; font-family: arial; line-height: normal; color: rgb(255, 255, 255); border: 0px dashed rgb(0, 255, 255); border-top-left-radius: 0em; border-top-right-radius: 0em; border-bottom-right-radius: 0em; border-bottom-left-radius: 0em; background-color: rgb(0, 34, 102); text-shadow: rgb(255, 255, 255) 0px 0px 8px; overflow: visible; z-index: 0;

我正试图让它显示出来......

display: inherit; 
position: absolute; 
top: 20px; 
left: 19px; 
margin: 10px; 
width: 340px; 
height: 234px; 
padding: 1em; 
font-style: normal; 
font-variant: normal; 
font-weight: normal; 
font-size: 14px; 
font-family: arial; 
line-height: normal; 
color: rgb(255, 255, 255); 
border: 0px dashed rgb(0, 255, 255); 
border-top-left-radius: 0em; 
border-top-right-radius: 0em; 
border-bottom-right-radius: 0em; 
border-bottom-left-radius: 0em; 
background-color: rgb(0, 34, 102); 
text-shadow: rgb(255, 255, 255) 0px 0px 8px; 
overflow: visible; 
z-index: 0;

我知道这是可能的我只是不知道如何去做。我想找到;并用相同的字符替换它,但最后添加一个换行符。

非常感谢任何帮助。

这是我的JQuery / JS ......

$('.div-style').val($('.box').attr('style'));

$('.code').each(function() {
    CodeMirror(this, {
        value: $('.div-style').val(),
        mode: 'text/css',
        lineNumbers: true,
        lineWrapping: true,
        readOnly: true
    });
});

1 个答案:

答案 0 :(得分:2)

将所有分号更改为分号后跟换行符的全局替换将是:

$('.div-style').val().replace(/;/g,";\n")

虽然您会注意到在所有行的开头都留下了空格,但第一行是因为您的输入在每个分号后面都有一个空格:http://jsfiddle.net/Mukdf/1/

所以也许这样:

$('.div-style').val().replace(/;\s?/g,";\n")

演示:http://jsfiddle.net/Mukdf/2/

/;\s*/g如果你想在每个分号后允许任意数量的空格(包括零)。