Как вставить текст в 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>
помочь?
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>не пусто, один популярный трюк, чтобы вставить не нарушая пробел в нем, такие, что:<td id="td1"> </td>тогда вы сможете использовать:
document.getElementById('td1').firstChild.data = 'New Value';в противном случае, если вам не нравится добавлять бессмысленные
 вы можете использовать решение, что Джонатан Fingland описано в другого ответа.
использовать jQuery
посмотрите, как легко было бы, если бы вы сделали.
пример:
$('#td1').html('hello world');
Comments