gpt4 book ai didi

javascript - 删除文本区域中链接下的新行

转载 作者:行者123 更新时间:2023-12-03 05:18:14 25 4
gpt4 key购买 nike

当我为文本区域创建新链接时,它会创建一个新行,例如

[enter link description here][1] and [enter link description here][2]

[1]: http://

[2]: http://

正如您在上面看到的,底部两个链接之间有一个间隙,我不希望那里有间隙

它应该看起来像

[enter link description here][1] and [enter link description here][2]

[1]: http://
[2]: http://

Question how to make it so when create new link that there are no gaps for the bottom links.

这是一个 codepen demo 已使用工作代码进行更新

<script type="text/javascript">
$('#myLink').on('shown.bs.modal', function() {
var textarea = document.getElementById("message");
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var selectedText = textarea.value.substring(start, end);
$('#title').val(selectedText);
$('#url').val('http://');
});

$('#save').on('click', function(e) {
var textarea = document.getElementById("message");
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var selectedText = textarea.value.substring(start, end);
var counter = findAvailableNumber(textarea);

if ($.trim($('#title').val()).length == 0){
var replace_word = '[enter link description here]' + '[' + counter + ']';
} else {
var replace_word = '[' + $(this).val() + ']' + '[' + counter + ']';
}

var add_link = '\n\n' + ' [' + counter + ']: ' + $('#url').val();

textarea.value = textarea.value.substring(0, start) + replace_word + textarea.value.substring(end,len) + add_link;
});

function findAvailableNumber(textarea){
var number = 1;

var a = textarea.value;

if(a.indexOf('[1]') > -1){

//Find lines with links

var matches = a.match(/(^|\n)\s*\[\d+\]:/g);

//Find corresponding numbers

var usedNumbers = matches.map(function(match){
return parseInt(match.match(/\d+/)[0]); }
);

//Find first unused number

var number = 1;

while(true){

if(usedNumbers.indexOf(number) === -1){

//Found unused number

return number;
}

number++;
}
}

return number;
}
</script>

最佳答案

我认为你的代码位于:

var add_link = '\n\n' + '   [' + counter + ']: ' + $('#url').val();

应该是

if (counter == 1)
var add_link = '\n\n' + ' [' + counter + ']: ' + $('#url').val();
else
var add_link = '\n' + ' [' + counter + ']: ' + $('#url').val();

这样链接之间就没有间隙,除了文本和链接之间。由于链接应该彼此相邻(参见下面的假设),因此只有第一个链接应该有间隙

假设:我假设链接之后不应该有任何文本。

关于javascript - 删除文本区域中链接下的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41518166/

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