я тоже так думал но написав:
var my_elem = document.createElement(tag); document.write(my_elem); я, разумеется, получил ошибку |
Вам действительно нужно создавать элемент через document.createElement?
|
нет, мне нужно создать элемент и привязаться к нему без использования id, желательно по объектной ссылке
|
Это какое-то искусственное ограничение чтоли?
|
это такой принцип работы. Способ есть?
|
Способ зависит от того, почему нельзя использовать id.
|
потому что нет способа к нему привязаться. оно не должно использоваться по заданию.
я прошу определённой помощи, а именно: 1) создать элемент 2) вставить его в место вызова функции 3) привязаться к нему объектной ссылкой, без использования ИД |
Цитата:
<script type="text/javascript"> function placeHere(tag) { var el = document.createElement(tag); el.innerHTML = tag; var spans = document.getElementsByTagName('span'); spans[spans.length - 1].appendChild(el); } </script> --><span><script type="text/javascript">placeHere('b');</script></span><-- Это не будет работать, если в элементе span есть ещё что-то. Нормальный работающий пример можно придумать, только зная все условия задачи и предпосылки для этих условий. |
Решение додумал сам: Оптимально и практично:
function plaseHere('text') { document.write('<div></div>'); var elem = document.getElementsByTagName('div'); elem = elem[elem.length - 1]; elem.innerHTML = text; return true; } При этом имеем вставленное в нужное место содержание + объектную ссылку на элемент без использования идентификатора, которую можно привязать к чему - либо. В моём случае к родителю. |
function placeHere( tagName, text ) { var node = document.createElement( tagName ); node.appendChild( document.createTextNode( text + "" ) ); var scripts = document.getElementsByTagName("script"), lastScript = scripts[ scripts.length - 1 ]; if ( lastScript.parentNode ) { lastScript.parentNode.insertBefore ( node, lastScript ); } node = scripts = lastScript = null; } <span><script type="text/javascript">placeHere("strong", "вставлен 'strong'")</script></span> |
Часовой пояс GMT +3, время: 15:14. |