document.getElementById - проблема с изменением информации внутри div

Я застрял на вопрос начинающего 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>

Я понимаю, что, если бы я мог добавить идентификатор к первому набору кода для поля ввода, это сделало бы процесс простым, но, к сожалению, я не могу редактировать эту часть кода. Все ответы, которые я исследовал, казались вариантами этого.

Есть ли способ изменить строку document.getElementById так, чтобы она перезаписывала только то, что находится внутри текстового поля, созданного первым набором HTML, и заменяла его тем, что введено в поле, созданное вторым набором?

1 ответ

document.getElementById() Функция принимает строковое значение, поэтому вам нужно заключать в кавычки идентификатор.

  document.getElementById("wb-tables-id-0_filter")

Редактировать:

Я не смотрел на тип элемента, который вы использовали. В вашем примере id настроен против DIV а не INPUT, Это вход, который имеет свойство.value. Как вы утверждаете в комментарии, это DIV это имеет .innerHTML,

Совет: я бы также переименовал идентификатор, чтобы он не включал тире. Они не делают допустимые переменные скрипта.

Другие вопросы по тегам