Что-то не так с кодом? Это не работает.

<script>
t=document.getElementById('good');
document.write(t.value);
</script>

HTML:

Type-here: <input id='good' type='text' value="my value is high">
0
Philip007 5 Июн 2010 в 20:06

5 ответов

Лучший ответ

Ваш сценарий находится в верхней части документа и выполняется до того, как ваш тег ввода существует в DOM.

Сценарии выполняются, как только браузер видит закрывающий тег </script>. Вы можете поместить свой блок скрипта в конец <body> или вы можете запустить код как обработчик onload.

7
Pointy 5 Июн 2010 в 16:07

Document.write сбросит содержимое текущего документа.

Если вы хотите добавить новый контент к текущему контенту, вы должны сделать что-то вроде этого:

  1. Создайте новый элемент, такой как span или div,
  2. Создайте textNode со значением для вставки ...
  3. Добавьте новое содержимое к этому элементу с помощью этой функции: document.getElementById ('theDiv'). AppendChild (newContent);

Например, это будет работать для вас:

<script>
function write()
{
    var t=document.getElementById('good');
    if (document.createTextNode){
        var mytext=document.createTextNode(t.value)
        document.getElementById("newDiv").appendChild(mytext)
    } 
}

</script>

И здесь вы можете увидеть новый Див

<body onload="write()">
Type here: <input id='good' type='text' value="my value is high" >
<div id="newDiv"></div>
</body>
0
Garis M Suero 5 Июн 2010 в 19:16

Я переписываю код следующим образом. Но тогда тег <input> исчезает. Почему?

<script>
function write()
{
  t=document.getElementById('good');
  document.write(t.value);
}
</script>

HTML:

<body onload="write()">
Type here: <input id='good' type='text' value="my value is high" >
</body>
0
Philip007 5 Июн 2010 в 17:06

Попробуй это:

<script>
function reWriteThis(id) {
 var t=document.getElementById(id);
 document.write(t.value);
}
</script>

И после, в вашем теге загрузки что-то вроде:

<body onload="reWriteThis('good')">
1
Garis M Suero 5 Июн 2010 в 16:14

Подождите, вы были просто жаловались в предыдущем вопросе, который getElementsByTagName не делает не работает В обоих случаях это не то, как вы пытаетесь их использовать.

Я и другие дали вам комментарии и ответы, которые расскажут вам о getElementById и getElementsByTagName.

0
Community 23 Май 2017 в 12:07