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"> но никак не получается, научите кто-нибудь) |
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();
|
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>
|
в обоях случаях новая картинка попадает внутрь ссылки info.aspx, и при клике на новую картинку открывается информация, а я хотел бы придать ей другую функцию - открытие нового окна.
можно как-то вставить эту новую картинку сразу после скобок? |
Цитата:
Свойство parentNode указывает на родителя. найдите родителя нужной ссылки и вставьте передней картинку. Подсказка: дополните строку 23 в нужных местах. |
Можете тоже помочь?
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> Вставлять не хочет и все тут. |
Цитата:
<!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>
|
Все равно не работает. Я даже заново все переписал. Просто сделал скрывание через display
|
Nikel097,
код где? |
Не спасибо не надо. Я ж говорю. Раз по старому не получилось, то сделал через display:none; и display:block;
|
| Часовой пояс GMT +3, время: 09:39. |