Furax
Спасибо, буду пробовать
46. yura3d - 24 июля 2009 — 11:47 - перейти к сообщению
47. yura3d - 29 июля 2009 — 08:44 - перейти к сообщению
Furax
Ещё раз огромное спасибо, с формой разобрался. Остался небольшой вопрос, каким образом можно удалить ранее созданный TextNode?
Ещё раз огромное спасибо, с формой разобрался. Остался небольшой вопрос, каким образом можно удалить ранее созданный TextNode?
48. Furax - 29 июля 2009 — 12:02 - перейти к сообщению
CODE:
TextNode.parentNode.removeChild(TextNode);
49. yura3d - 6 августа 2009 — 13:53 - перейти к сообщению
Furax пишет:
CODE:
TextNode.parentNode.removeChild(TextNode);
Спасибо, получилось, но некоторые вопросы остались. Допустим, в одном слое было создано несколько текстнодов, но их идентфикаторы не были сохранены (имеется в распоряжении только идентификатор самого слоя). Каким образом можно в этом случае редактировать/удалять имеющиеся в слое текстноды, не прибегая к innerHTML для слоя? Я так понимаю, наверное, самым простым вариантом будет:
CODE:
div.appendChild(document.createTextNode('<span id="text">Тут текст</span>'));
А потом, соответственно, изменение содержимого данного текстнода так:
CODE:
div.getElementById('text').innerHTML = 'Новый текст';
Может есть другие варианты?
50. Furax - 7 августа 2009 — 03:26 - перейти к сообщению
В createTextNode() бесполезно передавать HTML-код - это не innerHTML, так что любой текст будет просто выведен - в результате предыдущий пример работать не будет. Также я не помню, а может ли вообще TextNode иметь id - кажется, нет, поскольку это не тег. Ну и наконец, использовать innerHTML, коли уж Ты собрался всё писать на DOM-методах, явно не следует.
Редактировать текст можно просто:
Редактировать текст можно просто:
CODE:
Если же по каким-либо причинам сохранять таким образом указатель на textNode неудобно, можно обратиться к нему через тот самый div:var textNode = div.appendChild(document.createTextNode('Тут текст'));
...
textNode.nodeValue = 'Новый текст';
...
textNode.nodeValue = 'Новый текст';
CODE:
Здесь предполагается, что текстовый узел остался последним вложенным узлом в divе. Если это не так, лучше всё же сохранять указатель, хотя можно найти нужный узел, просматривая div.childNodes.
div.lastChild.nodeValue = 'Новый текст';
51. Defenderyk - 12 сентября 2009 — 12:14 - перейти к сообщению
Есть скрипт навигации, вот часть:
я так понимаю она отвечает за появление подменю по клику по пункту грлавного меню. как сделать, чтобы реагировало при наведении, а не при клике?
скрипт использует бибилотеку http://ajax.googleapis.com/ajax/....3/jquery.min.js
CODE:
<script type="text/javascript">
$(document).ready(function() {
$("ul#topnav li").find("span").stop().fadeTo('normal', 0).hide(); //Set opacity to 0
$("ul#topnav li").click(function() {
$(this).find("span").stop().fadeTo('normal', 1).show();
}).hover(function() {
$(this).css({ 'background' : '#1376c9 url(topnav_active.gif) repeat-x'});
} , function() {
$(this).css({ 'background' : 'none'})
.find("span").stop().fadeTo('normal', 0 , function() {
$(this).hide()
});
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$("ul#topnav li").find("span").stop().fadeTo('normal', 0).hide(); //Set opacity to 0
$("ul#topnav li").click(function() {
$(this).find("span").stop().fadeTo('normal', 1).show();
}).hover(function() {
$(this).css({ 'background' : '#1376c9 url(topnav_active.gif) repeat-x'});
} , function() {
$(this).css({ 'background' : 'none'})
.find("span").stop().fadeTo('normal', 0 , function() {
$(this).hide()
});
});
});
</script>
я так понимаю она отвечает за появление подменю по клику по пункту грлавного меню. как сделать, чтобы реагировало при наведении, а не при клике?
скрипт использует бибилотеку http://ajax.googleapis.com/ajax/....3/jquery.min.js
52. Defenderyk - 13 сентября 2009 — 11:09 - перейти к сообщению
при этом как я понял за клик по меню отвечает:
$("ul#topnav li".click(function() {
но на что сменить этот клик, чтобы работало при наведении, а не при клике. онмаусовер не помогает так просто.
$("ul#topnav li".click(function() {
но на что сменить этот клик, чтобы работало при наведении, а не при клике. онмаусовер не помогает так просто.
53. Александр Михалицын - 13 сентября 2009 — 16:24 - перейти к сообщению
Defenderyk,
выброси JQuery и научись тоже самое писать сам.
Поверь, гораздо полезнее...
Опиши мне конкретно, что должно уметь твое меню. Я даже тебе помогу написать его без JQuery.
выброси JQuery и научись тоже самое писать сам.
Поверь, гораздо полезнее...
Опиши мне конкретно, что должно уметь твое меню. Я даже тебе помогу написать его без JQuery.
54. yura3d - 13 сентября 2009 — 17:13 - перейти к сообщению
Defenderyk
Как вариант, попробуй:
Как вариант, попробуй:
CODE:
$("ul#topnav li").mouseover(function() {
55. Defenderyk - 13 сентября 2009 — 17:14 - перейти к сообщению
Александр Михалицын пишет:
Defenderyk,
выброси JQuery и научись тоже самое писать сам.
Поверь, гораздо полезнее...
Опиши мне конкретно, что должно уметь твое меню. Я даже тебе помогу написать его без JQuery.
выброси JQuery и научись тоже самое писать сам.
Поверь, гораздо полезнее...
Опиши мне конкретно, что должно уметь твое меню. Я даже тебе помогу написать его без JQuery.
да что описывать, я ссылку дам на темплейт:
http://www.sohtanaka.com/web-des...rizontal-subnav/
только мне надо, чтобы не при клике, а при наведении. а квери использовать удобно, т.к на нем многое сделать возможно при этом не используя кучу других скриптов.
56. Александр Михалицын - 14 сентября 2009 — 02:17 - перейти к сообщению
Цитата:
только мне надо, чтобы не при клике, а при наведении.
Может я что-то не понял, но там и так при наведении выскакивает...
57. Defenderyk - 14 сентября 2009 — 07:40 - перейти к сообщению
не то меню подобрал) найду, дам ссылку
а так, такое же меню, как и по приведенной ссылке, но долно плавно появляться и исчезать при наведении
а так, такое же меню, как и по приведенной ссылке, но долно плавно появляться и исчезать при наведении
58. yura3d - 16 октября 2009 — 19:44 - перейти к сообщению
Имеется таблица:
Внутри некоторой ячейки таблицы располагается некоторый слой, id которого мне известен (это div1). Зная id этого слоя, мне нужно получить id тега <tr> (в данном примере это div2), внутри которого находится ячейка и удалить этот тег, т.е. для данного примера после удаления должны остаться тольки теги таблицы:
Каким образом лучше реализовать задуманное (конечно, желательно на основе DOM) ?
CODE:
<table>
<tr id="div2">
<td><div id="div1"></div></td>
</tr>
</table>
<tr id="div2">
<td><div id="div1"></div></td>
</tr>
</table>
Внутри некоторой ячейки таблицы располагается некоторый слой, id которого мне известен (это div1). Зная id этого слоя, мне нужно получить id тега <tr> (в данном примере это div2), внутри которого находится ячейка и удалить этот тег, т.е. для данного примера после удаления должны остаться тольки теги таблицы:
CODE:
<table>
</table>
</table>
Каким образом лучше реализовать задуманное (конечно, желательно на основе DOM) ?
59. Furax - 17 октября 2009 — 03:57 - перейти к сообщению
id строки получать для этого вовсе не обязательно:
CODE:
Но не забывай, что, кроме table, останется ещё tbody.
var tr = document.getElementById('div1').parentNode.parentNode;
tr.parentNode.removeChild(tr);
tr.parentNode.removeChild(tr);
60. yura3d - 18 октября 2009 — 13:03 - перейти к сообщению
Furax
Огромное спасибо, всё работает. Осталось только сделать проверку на удаление строки в таблице только в том случае, если всё ячейки строки пусты (или имеют определённое содержание). Поэтому вопрос, как пробежаться по всем чилдам тега <tr> ?
Огромное спасибо, всё работает. Осталось только сделать проверку на удаление строки в таблице только в том случае, если всё ячейки строки пусты (или имеют определённое содержание). Поэтому вопрос, как пробежаться по всем чилдам тега <tr> ?