我坚持初学HTML问题。我正在使用带有数据表的HTML:
<div id="wb-tables-id-0_filter" class="dataTables_filter">
<label>
Filter items
<input class="" type="search" placeholder="" aria-controls="wb-tables-id-0">
</label>
</div>
这会创建一个文本框,用户可以在其中输入数据,该数据会过滤下面的数据表。但是,我需要在页面的不同区域的框中输入数据来覆盖此框中可能包含的任何数据。
我一直试图让这段代码工作:
<script>
function overwriteText(text){
document.getElementById(wb-tables-id-0_filter).value = text;
}
</script>
<div id="overwrite">
Write to change:<input id="slide" type="text" value=""
onchange="overwriteText(this.value);" />
</div>
据我所知,如果我可以在输入框的第一组代码中添加一个ID,那么这将使该过程变得简单,但不幸的是我无法编辑代码的那一部分。我研究过的所有答案似乎都是变种。
有没有办法更改document.getElementById行只覆盖第一组HTML创建的文本框内的任何内容,并将其替换为第二组创建的框中输入的内容?
答案 0 :(得分:0)
document.getElementById()
函数接受字符串值,因此您需要在id周围加上引号。
document.getElementById("wb-tables-id-0_filter")
编辑:
我没有看你正在使用的元素类型。在您的示例中,id
是针对DIV
设置的,而不是INPUT
。它是一个具有.value属性的输入。正如您在评论中所述,DIV
有一个.innerHTML
。
提示:我还要重命名id,使其不包含破折号。他们没有制作有效的脚本变量。