Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.08.2011, 11:38
Аспирант
Отправить личное сообщение для belkir Посмотреть профиль Найти все сообщения от belkir
 
Регистрация: 01.08.2011
Сообщений: 38

я тоже так думал но написав:

var my_elem = document.createElement(tag);
document.write(my_elem);

я, разумеется, получил ошибку
Ответить с цитированием
  #12 (permalink)  
Старый 03.08.2011, 11:59
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вам действительно нужно создавать элемент через document.createElement?
Ответить с цитированием
  #13 (permalink)  
Старый 03.08.2011, 12:00
Аспирант
Отправить личное сообщение для belkir Посмотреть профиль Найти все сообщения от belkir
 
Регистрация: 01.08.2011
Сообщений: 38

нет, мне нужно создать элемент и привязаться к нему без использования id, желательно по объектной ссылке

Последний раз редактировалось belkir, 03.08.2011 в 12:12.
Ответить с цитированием
  #14 (permalink)  
Старый 03.08.2011, 12:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Это какое-то искусственное ограничение чтоли?
Ответить с цитированием
  #15 (permalink)  
Старый 03.08.2011, 12:16
Аспирант
Отправить личное сообщение для belkir Посмотреть профиль Найти все сообщения от belkir
 
Регистрация: 01.08.2011
Сообщений: 38

это такой принцип работы. Способ есть?
Ответить с цитированием
  #16 (permalink)  
Старый 03.08.2011, 12:21
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Способ зависит от того, почему нельзя использовать id.
Ответить с цитированием
  #17 (permalink)  
Старый 03.08.2011, 12:24
Аспирант
Отправить личное сообщение для belkir Посмотреть профиль Найти все сообщения от belkir
 
Регистрация: 01.08.2011
Сообщений: 38

потому что нет способа к нему привязаться. оно не должно использоваться по заданию.

я прошу определённой помощи, а именно:
1) создать элемент
2) вставить его в место вызова функции
3) привязаться к нему объектной ссылкой, без использования ИД
Ответить с цитированием
  #18 (permalink)  
Старый 03.08.2011, 12:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от belkir
оно не должно использоваться по заданию.
Т.е. ограничение всё-таки искусственное.

<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>
--&gt;<span><script type="text/javascript">placeHere('b');</script></span>&lt;--


Это не будет работать, если в элементе span есть ещё что-то. Нормальный работающий пример можно придумать, только зная все условия задачи и предпосылки для этих условий.
Ответить с цитированием
  #19 (permalink)  
Старый 03.08.2011, 22:55
Аспирант
Отправить личное сообщение для belkir Посмотреть профиль Найти все сообщения от belkir
 
Регистрация: 01.08.2011
Сообщений: 38

Решение додумал сам: Оптимально и практично:

function plaseHere('text')
{
  document.write('<div></div>');
  var elem = document.getElementsByTagName('div');
  elem = elem[elem.length - 1];
  elem.innerHTML = text;
  return true;
}


При этом имеем вставленное в нужное место содержание + объектную ссылку на элемент без использования идентификатора, которую можно привязать к чему - либо. В моём случае к родителю.

Последний раз редактировалось belkir, 03.08.2011 в 22:57.
Ответить с цитированием
  #20 (permalink)  
Старый 04.08.2011, 13:27
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление элемента в определенное место haveFun Events/DOM/Window 5 02.05.2011 19:54
Обращение к функции click по id элемента MCTrane jQuery 4 05.12.2010 18:18
Строка вызова функции DMH Общие вопросы Javascript 11 10.08.2010 09:06
Массивы удаление элемента и вставка на его место другого mycoding Общие вопросы Javascript 1 19.04.2010 22:30
Применение функции для каждого элемента sergeygerasimov jQuery 2 26.11.2008 11:15