Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在转换框中输入后在另一个链接下添加多个链接_Javascript_Html - Fatal编程技术网

Javascript 如何在转换框中输入后在另一个链接下添加多个链接

Javascript 如何在转换框中输入后在另一个链接下添加多个链接,javascript,html,Javascript,Html,我在代码方面遇到了一些问题 函数转换() { var text=document.getElementById(“url”).value; var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig; var text1=text.replace(exp,“”); var exp2=/(^.[^\/])(www\.[\S]+(\b\$)/gim; document.getElementB

我在代码方面遇到了一些问题

函数转换()
{
var text=document.getElementById(“url”).value;
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
var text1=text.replace(exp,“”);
var exp2=/(^.[^\/])(www\.[\S]+(\b\$)/gim;
document.getElementById(“converted_url1”).innerHTML=text1.replace(exp2,$1');
}
https://www.example.org

不要只设置一个
标记的
innerHTML
,而是每次创建一个新元素并将该新元素附加到输出保持器中

var textarea=document.querySelector('#url');
var outputEl=document.querySelector('#converted_url1');
var convertBtn=document.querySelector(“#converter”);
函数转换(){
var text=textarea.value;
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
var text1=text.replace(exp,“”);
var exp2=/(^.[^\/])(www\.[\S]+(\b\$)/gim;
var newP=document.createElement('p');
newP.innerHTML=text1.replace(exp2,$1');
outputEl.append(newP);
}
convertBtn.addEventListener('click',convert')


用div:
将其包装起来。默认情况下,Div有一个
display:block
,因此它将位于前一个block元素下

函数转换()
{
var text=document.getElementById(“url”).value;
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
var text1=text.replace(exp,“”);
var exp2=/(^.[^\/])(www\.[\S]+(\b\$)/gim;
document.getElementById(“converted_url1”).innerHTML+=text1.replace(exp2,$1');
}
https://www.example1.org
https://www.example2.org
https://www.example3.org
https://www.example4.org

您只能添加一个链接,因为您每次都用新生成的html替换
converted_url1
中的现有html。相反,您希望创建一个新的DOM节点并将其附加到文档中。这可以通过多种方式完成,其中之一是将新的html分配给另一个DOM节点(通常不在页面上的节点)并提取新内容。见下文:

函数转换()
{
var text=document.getElementById(“url”).value;
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
var text1=text.replace(exp,“”);
var exp2=/(^.[^\/])(www\.[\S]+(\b\$)/gim;
var template=document.createElement('template');
template.innerHTML=text1.replace(exp2,$1');
document.getElementById(“converted_url1”).appendChild(template.content);
}


您能给我们展示一些示例和预期的输出吗?很好的方法。我只想在第五行添加一个加号:
document.getElementById(“converted_url1”).innerHTML+=text1.replace(exp2,$1')这解决了它。天哪,我完全忘记了DOM节点。我很傻。非常感谢,先生!