Javascript 将具有相同id的div中的文本复制到input onclick
所以今天我决定学习javascript并尝试一些看似简单的东西。但我被困住了,不明白为什么这不起作用 我试图将文本从具有相同ID的divs onclick复制到输入中,但它总是将第一个divs文本复制到输入中,而不是我单击的div 有没有办法解决这个问题Javascript 将具有相同id的div中的文本复制到input onclick,javascript,Javascript,所以今天我决定学习javascript并尝试一些看似简单的东西。但我被困住了,不明白为什么这不起作用 我试图将文本从具有相同ID的divs onclick复制到输入中,但它总是将第一个divs文本复制到输入中,而不是我单击的div 有没有办法解决这个问题 函数copyToInput(elementId){ var getText=document.getElementById(elementId).innerText; var chatHudInput=document.getElements
函数copyToInput(elementId){
var getText=document.getElementById(elementId).innerText;
var chatHudInput=document.getElementsByClassName('hud-chat-input')[0];
chatHudInput.value=getText;
}
这里有一些文本
这里有更多的文字
这里有更多的文字
两个div不能共享一个id。但是,您可以共享class',但id是唯一的标识符
id属性为HTML元素指定一个唯一的id(该值在HTML文档中必须是唯一的)
切勿对元素使用相同的id而应使用相同的类 . 您可以在onclick函数中传递整个元素,并在函数中获取其文本
函数copyToInput(elementId){
var chatHudInput=document.getElementsByClassName('hud-chat-input')[0];
chatHudInput.value=elementId.innerText;
}
这里有一些文本
这里有更多的文字
这里有更多的文字
这里有一些文本
这里有更多的文字
这里有更多的文字
ID
必须是唯一的
,在您的情况下,ID
不是唯一的,所以当文档时。getElementById(elementId)
请首先查看匹配消息的ID
,获取它并且不继续搜索(因此始终获取第一个div)
您的代码不需要ID
,请使用this
this
指点击它的div
函数copyToInput(elementId){
var chatHudInput=document.getElementsByClassName('hud-chat-input')[0];
chatHudInput.value=elementId.innerText;
}
此处的一些文本
这里有更多的文字
这里有更多的文字
使用以下代码。所有元素都必须具有唯一的ID。在您的代码中,它使用第一个ID的唯一原因是它使用的第一个ID(因为您只能有一个ID,而代码假定您只有一个ID)。只需给3个元素不同的ID
函数copyToInput(elementId){
var getText=document.getElementById(elementId).innerText;
var chatHudInput=document.getElementsByClassName('hud-chat-input')[0];
chatHudInput.value=getText;
}
这里有一些文本
这里有更多的文字
这里有更多的文字
ID
必须是唯一的,或者使用类,您定义了两次类。没有注意到。修好了
Try This:
function copyToInput(elementId) {
var getText = document.getElementById(elementId).innerText;
var chatHudInput = document.getElementsByClassName('hud-chat-input')[0];
chatHudInput.value = getText;
}