Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.12.2012, 23:53
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

insertBefore
Всё никак не могу разабраться, как работает этот способ вставки..
Есть таблица:

<table>
<tr><td><a href="#">User1</a>(1)<a href="info.aspx?name=User1" target="_blank"><img src="info.gif" border="0"></a></td></tr>
<tr><td><a href="#">User2</a>(7)<a href="info.aspx?name=User2" target="_blank"><img src="info.gif" border="0"></a></td></tr>
<tr><td><a href="#">User5</a>(4)<a href="info.aspx?name=User5" target="_blank"><img src="info.gif" border="0"></a></td></tr>
</table>


нужно вставить перед изображениями info.gif еще одну картинку -
<img src="privatemsg.gif" border="0">

но никак не получается, научите кто-нибудь)

Последний раз редактировалось Vampir3, 14.12.2012 в 00:01.
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2012, 08:51
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function Info()
{
   var a = document.getElementsByTagName('td');
   for(i=0;i<a.length;i++)
   {
      var b = a[i].getElementsByTagName('a')[1];
      b.innerHTML = '<img src="privatemsg.gif" border="0">'+b.innerHTML;
   }
}

Info();
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2012, 11:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Vampir3,
Вариант ...
<!DOCTYPE HTML>

<html>

<head>
<title></title>
</head>

<body>

<table>
<tr><td><a href="#">User1</a>(1)<a href="info.aspx?name=User1" target="_blank"><img src="http://javascript.ru/forum/images/smilies/dance3.gif" border="0"></a></td></tr>
<tr><td><a href="#">User2</a>(7)<a href="info.aspx?name=User2" target="_blank"><img src="http://javascript.ru/forum/images/smilies/dance3.gif" border="0"></a></td></tr>
<tr><td><a href="#">User5</a>(4)<a href="info.aspx?name=User5" target="_blank"><img src="http://javascript.ru/forum/images/smilies/dance3.gif" border="0"></a></td></tr>
</table>
<script type="text/javascript">
var a = document.getElementsByTagName('img'),
l = a.length-1;
for (var i=l; a[i];i--)  {
  if(a[i].src=="http://javascript.ru/forum/images/smilies/dance3.gif")
  var img =  document.createElement("img");
  img.src = "http://javascript.ru/forum/images/smilies/victory.gif"
  a[i].parentNode.insertBefore(img,a[i])
}
</script>
</body>

</html>
Ответить с цитированием
  #4 (permalink)  
Старый 14.12.2012, 19:20
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

в обоях случаях новая картинка попадает внутрь ссылки info.aspx, и при клике на новую картинку открывается информация, а я хотел бы придать ей другую функцию - открытие нового окна.
можно как-то вставить эту новую картинку сразу после скобок?
Ответить с цитированием
  #5 (permalink)  
Старый 14.12.2012, 20:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Сообщение от Vampir3
можно как-то вставить эту новую картинку сразу после скобок?
Vampir3,
Свойство parentNode указывает на родителя.
найдите родителя нужной ссылки и вставьте передней картинку.
Подсказка: дополните строку 23 в нужных местах.
Ответить с цитированием
  #6 (permalink)  
Старый 12.01.2014, 10:25
Аватар для Nikel097
Интересующийся
Отправить личное сообщение для Nikel097 Посмотреть профиль Найти все сообщения от Nikel097
 
Регистрация: 06.01.2014
Сообщений: 22

Можете тоже помочь?

function change1(obj)
{	
 div=document.getElementById("spoiler_body_info");
 newnode=document.createElement("span"); 
 newnode.innerHTML="<b>Подраздел:</b> <select name='smallsection' class='select'></select><br> ";
 where=document.getElementById("after_select");
 div.insertBefore(newnode,where);  		
}


<div class='spoiler_body_info' id='spoiler_body_info'>
		<b>Раздел:</b> <select name='section'  class='select' onChange='change1(this)'>
			<option value='0'>-----</option>
			<option value='1'>Авто и мототранспорт</option>
			<option value='2'>Авиация</option>
			<option value='3'>Ж/д транспорт</option>
			<option value='4'>Военная техника</option>
			<option value='5'>Флот</option>
			<option value='6'>Люди</option>
			<option value='7'>Прочее</option>
	        </select><br>
		<div id='after_select'></div>
</div>

Вставлять не хочет и все тут.
Ответить с цитированием
  #7 (permalink)  
Старый 12.01.2014, 10:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Сообщение от Nikel097
Вставлять не хочет и все тут.
хочет хочет ))) либо вы не то и нетуда вставляите
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<div class='spoiler_body_info' id='spoiler_body_info'>
		<b>Раздел:</b> <select name='section'  class='select' onChange='change1(this)'>
			<option value='0'>-----</option>
			<option value='1'>Авто и мототранспорт</option>
			<option value='2'>Авиация</option>
			<option value='3'>Ж/д транспорт</option>
			<option value='4'>Военная техника</option>
			<option value='5'>Флот</option>
			<option value='6'>Люди</option>
			<option value='7'>Прочее</option>
	        </select><br>
		<div id='after_select'></div>
</div>

<script>
 function change1(obj)
{
 div=document.getElementById("spoiler_body_info");
 newnode=document.createElement("span");
 newnode.innerHTML="<b>Подраздел:</b> <select name='smallsection' class='select'></select><br> ";
 where=document.getElementById("after_select");
 div.insertBefore(newnode,where);
}

</script>
</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 12.01.2014, 12:46
Аватар для Nikel097
Интересующийся
Отправить личное сообщение для Nikel097 Посмотреть профиль Найти все сообщения от Nikel097
 
Регистрация: 06.01.2014
Сообщений: 22

Все равно не работает. Я даже заново все переписал. Просто сделал скрывание через display
Ответить с цитированием
  #9 (permalink)  
Старый 12.01.2014, 13:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Nikel097,
код где?
Ответить с цитированием
  #10 (permalink)  
Старый 12.01.2014, 13:52
Аватар для Nikel097
Интересующийся
Отправить личное сообщение для Nikel097 Посмотреть профиль Найти все сообщения от Nikel097
 
Регистрация: 06.01.2014
Сообщений: 22

Не спасибо не надо. Я ж говорю. Раз по старому не получилось, то сделал через display:none; и display:block;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
insertBefore и сортировка Mcqueen Events/DOM/Window 5 05.10.2012 13:01
Добавление в DOM / insertBefore Tenaro Events/DOM/Window 4 25.03.2012 14:59
insertBefore и insertAfter странное поведение с html Viper jQuery 0 07.02.2012 17:36
Странности с insertBefore() kazimira6 Events/DOM/Window 2 04.07.2011 12:22
insertBefore выдаёт ошибку и не работает на опере и фоксе SunnyDay Общие вопросы Javascript 3 19.09.2008 12:08