gpt4 book ai didi

javascript - 使用javascript只用html标签包装选定的文本

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:45 26 4
gpt4 key购买 nike

我正在尝试使用 javascript 标签仅用特定标签包装选定的文本。我找到了一个代码,但是当我点击一个按钮时,它会添加一个我不想要的标签,因为我只想在所选元素周围应用标签。

示例 JS 代码:

function wrapText(elementID, openTag, closeTag) {
var textArea = $('#' + elementID);
var len = textArea.val().length;
var start = textArea[0].selectionStart;
var end = textArea[0].selectionEnd;
var selectedText = textArea.val().substring(start, end);
var replacement = openTag + selectedText + closeTag;
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len));
}

$('#bold').click(function() {
wrapText("myTa", "<strong>", "</strong>");
});
$('#italic').click(function() {
wrapText("myTa", "<em>", "</em>");
});
$('#underline').click(function() {
wrapText("myTa", "<u>", "</u>");
});
$('#code').click(function() {
wrapText("myTa", "<pre><code>", "</code></pre>");
});

这是完整的工作代码 Link

我们将不胜感激。

最佳答案

使用这个条件:if(start != end){ ... }

http://jsfiddle.net/sherali/bd4np/119/

function wrapText(elementID, openTag, closeTag) {
var textArea = $('#' + elementID);
var len = textArea.val().length;
var start = textArea[0].selectionStart;
var end = textArea[0].selectionEnd;
if (start != end){
var selectedText = textArea.val().substring(start, end);
var replacement = openTag + selectedText + closeTag;
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len));
}
}

关于javascript - 使用javascript只用html标签包装选定的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32414659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com