在textarea中跨越内容

时间:2011-10-15 11:31:16

标签: javascript

<style>    
    .span1{
         left:10px;
     }

    .span2{
         left:20px;
     }
</style>

<span class='span1'> 1 </span> 
<span class='span2'> 2 </span>

我想在textarea中显示以上内容,需要一个正则表达式,我可以用<span>替换&nbsp;标签,以便正确显示textarea中的内容

用于文本编辑器,我希望将某些关键字自动对齐。我在隐藏状态下使用textarea。当用户改变div中的代码时,它会反映到div中的textarea中,代码使用css以不同颜色突出显示。我希望删除css标签1并在textarea中我想要的地方替换1 10,这样当文件保存时,它将以正确的格式提交。

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解你,但如果我错了,请纠正我。该代码使用jQuery

var shiftStep = 10,
    output = '';

$('span').each(function() {
    var $this = $(this),
        value = $this.text(),
        leftOffset = $this.css('left').slice(0, -2),
        finish = Math.floor(leftOffset / shiftStep);

    for (var i = 0; i < finish; i += 1) {

        /*
         * '&nbsp;' will be displayed as '&nbsp;'
         * in textarea, so use ' ' (space)
         */ 
        output += ' ';
    }

    output += value + '\n';
});

$('#output').val(output);

此外,您必须稍微更改CSS。

工作结果:http://jsfiddle.net/xrzNB/1/