javascript - 如何在前置标签之间添加文本

标签 javascript

我在开关中有这段代码:

case 'php':
           $(TextArea).insertRoundTag('pre', htmlOpts, {lang:'php', line:'1'});
           break;

结果是,执行的时候,在一个textarea中出现:

<pre lang="php" line="1"></pre>

现在人们可以在 pre 标记之间粘贴代码 如何在 pre 标记之间添加文本“此处代码”并且为蓝色(已选择)?

<pre lang="php" line="1">code here</pre>

最佳答案

要插入“此处代码”文本,只需从文本区域中获取值并将其插入即可。以下代码中的替换仅假设文本区域内的某些 HTML 元素,即不仅仅是例如“pre”标签:

var codeText = "code here";
var oldVal = $(TextArea).val();
$(TextArea).val(oldVal.replace("></", ">" + codeText  + "</"));

要选择“此处的代码”文本:

$(TextArea).focus();
var position = $(TextArea).val().indexOf(codeText);
document.getElementById(TextArea).setSelectionRange(position , position + codeText.length);

希望这有帮助!

fiddle :http://jsfiddle.net/ttbjenn2/1/

关于javascript - 如何在前置标签之间添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26958150/

相关文章:

javascript - AngularJS $UibModal 触发 [$injector :unpr]

javascript - CKEDITOR getData() 返回 html 字符实体(unicode),但是如何获得未翻译的字符?

javascript - 眼镜代码幻灯片不呈现

javascript - Photoshop JavaScript;如何调用单选按钮

javascript - HTML 5 工具

javascript - 我的 Bootstrap 页面上有一个视频背景——我怎样才能把它变成 "fixed"?

c# - 使用多个asp创建Bootstrap-Datepicker :Repeater TextBoxes

javascript - wkhtmltopdf 标题中不必要的空白

javascript - 无容器控制流语法的 knockout 错误

javascript - 将服务器响应格式化为人类可读