Как вставить текст в td с id, используя JavaScript



Я знаю, это может быть простая вещь, но я не могу выяснить. Я пытаюсь вставить некоторый текст, поступающий из функции JavaScript onload события в td.



<html>
<head>
<script type="text/javascript">
function insertText ()
{
//function to insert any text on the td with id "td1"
}
</script>
</head>
<body onload="javascript:insertText()">
<table>
<tr>
<td id="td1">
</td>
</tr>
</table>
</body>
</html>


помочь?

965   5  

5 ответов:

<html>

<head>
<script type="text/javascript">
function insertText () {
    document.getElementById('td1').innerHTML = "Some text to enter";
}
</script>
</head>

<body onload="insertText();">
    <table>
        <tr>
            <td id="td1"></td>
        </tr>
    </table>
</body>
</html>

добавить текстовый узел следующим образом

var td1 = document.getElementById('td1');
var text = document.createTextNode("some text");
td1.appendChild(text);

есть несколько вариантов... предполагая, что вы нашли свой TD by var td = document.getElementyById('myTD_ID'); вы можете сделать:

  • td.innerHTML = "mytext";

  • td.textContent= "mytext";

  • td.innerText= "mytext"; - это может не работать за пределами IE? Не уверен

  • используйте массив firstChild или children, как указано в предыдущем плакате.

если это просто текст, который должен быть изменен, textContent быстрее и менее подвержен атакам XSS (https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent)

если <td> не пусто, один популярный трюк, чтобы вставить не нарушая пробел &nbsp; в нем, такие, что:

 <td id="td1">&nbsp;</td>

тогда вы сможете использовать:

 document.getElementById('td1').firstChild.data = 'New Value';

в противном случае, если вам не нравится добавлять бессмысленные &nbsp вы можете использовать решение, что Джонатан Fingland описано в другого ответа.

использовать jQuery

посмотрите, как легко было бы, если бы вы сделали.

пример:

$('#td1').html('hello world');

Comments

    Ничего не найдено.