<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Deerua about Coding: последние заметки с тегом &amp;laquo;id&amp;raquo;</title><link>http://deer.org.ua/keywords/id/</link><description></description><language>ru</language><generator>e2 (http://blogengine.ru/)</generator><item><title>javascript: "Bug" with previousSibling</title><guid isPermaLink="true">http://deer.org.ua/2009/08/17/1/</guid><link>http://deer.org.ua/2009/08/17/1/</link><comments>http://deer.org.ua/2009/08/17/1/comments/</comments><description>У нас есть вот такой список HTML тэгов&lt;pre&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;label for&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;span class="hl-default"&gt;Enter text&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;label&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;input name&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;type&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;Если вызвать функцию, от имени инпута, и потом попытаться повлиять на его &lt;b&gt;previousSibling&lt;/b&gt;, которым по идее есть &lt;b&gt;label&lt;/b&gt;, мы упрёмся в текстовую ноду (&lt;i&gt;.style is undefined&lt;/i&gt; - у которой нету понятия стиль и т.д., а обидно ;) ). Быстрый способ это вылечить, это написать весь HTML в одну строку, то есть убрать перенос, но это блин не выход ;)&lt;br /&gt;&lt;br /&gt;Для этого можно написать "свой", "правильный" &lt;b&gt;previousSibling&lt;/b&gt;, или, по желанию, модифицировать существующий, что, на моё мнение, будет излишним ;) Как всегда, залезем в прототип и дадим &lt;s&gt;стране угля&lt;/s&gt; Обжектам, типа &lt;s&gt;Нод&lt;/s&gt; Element (crossbrowser fix, thx &lt;b&gt;Сергей Морозов&lt;/b&gt;), новую функцию &lt;pre&gt;&lt;span class="hl-identifier"&gt;Element&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;prototype&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;pSib&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;() { 
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;node&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;; 
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;while &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;node&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;node&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;previousSibling&lt;/span&gt;&lt;span class="hl-brackets"&gt;) { 
		&lt;/span&gt;&lt;span class="hl-comment"&gt;// нам не нужен текст, йо ;)
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;node&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nodeType&lt;/span&gt;&lt;span class="hl-code"&gt; != &lt;/span&gt;&lt;span class="hl-number"&gt;3&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-reserved"&gt;continue&lt;/span&gt;&lt;span class="hl-code"&gt;; 
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;} 
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;node&lt;/span&gt;&lt;span class="hl-code"&gt;; 
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
&lt;/span&gt;&lt;span class="hl-comment"&gt;// использовать вот так
&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;sometop&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;someid&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;pSib&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;top&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/08/17/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/previoussibling/"&gt;previousSibling&lt;/a&gt;</description><pubDate>Mon, 17 Aug 2009 20:42:15 +0200</pubDate></item><item><title>Клонирование объекта в Javascript (Clone object)</title><guid isPermaLink="true">http://deer.org.ua/2009/06/02/1/</guid><link>http://deer.org.ua/2009/06/02/1/</link><comments>http://deer.org.ua/2009/06/02/1/comments/</comments><description>Иногда нужно объект скопировать, и вставить в другое место.&lt;br /&gt;Для этого, можно использовать вот такую простую функцию, найденую на просторах интернетов ;)&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;clone&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;if&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;!&lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-code"&gt; || &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;object&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt; !== &lt;/span&gt;&lt;span class="hl-reserved"&gt;typeof &lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-brackets"&gt;)  {
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	&lt;/span&gt;&lt;span class="hl-identifier"&gt;varc&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;function&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt; === &lt;/span&gt;&lt;span class="hl-reserved"&gt;typeof &lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;pop&lt;/span&gt;&lt;span class="hl-code"&gt; ? &lt;/span&gt;&lt;span class="hl-brackets"&gt;[]&lt;/span&gt;&lt;span class="hl-code"&gt; : &lt;/span&gt;&lt;span class="hl-brackets"&gt;{}&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;p&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;for&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;p &lt;/span&gt;&lt;span class="hl-reserved"&gt;in &lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;if&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;hasOwnProperty&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;p&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;o&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;p&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;if&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;object&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt; === &lt;/span&gt;&lt;span class="hl-reserved"&gt;typeof &lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
				&lt;/span&gt;&lt;span class="hl-identifier"&gt;c&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;p&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;clone&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;else &lt;/span&gt;&lt;span class="hl-identifier"&gt;c&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;p&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	}
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;c&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Если вы хотите перенести кусок HTML, то не забывайте о &lt;b&gt;innerHTML&lt;/b&gt;, будет гораздо быстрее :D. Если же работа на прямую с объектами, то ещё легко можно пользоваться функцией &lt;b&gt;eval()&lt;/b&gt;. &lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/06/02/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/clone/"&gt;clone&lt;/a&gt;</description><pubDate>Tue, 02 Jun 2009 16:44:55 +0200</pubDate></item><item><title>get list of some tags from some element :D</title><guid isPermaLink="true">http://deer.org.ua/2009/05/05/1/</guid><link>http://deer.org.ua/2009/05/05/1/</link><comments>http://deer.org.ua/2009/05/05/1/comments/</comments><description>Иногда, в каком-то блоке, нужно выбрать какой-то тег, и вывести его простым списком, или таким же списком обработать. Написал простую функцию для этого:&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;getAllTagsInTag &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;tagid&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;tagname&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;tagaelm&lt;/span&gt;&lt;span class="hl-code"&gt; = $&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;tagid&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getElementsByTagName&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;*&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-reserved"&gt;null&lt;/span&gt;&lt;span class="hl-code"&gt; ? &lt;/span&gt;&lt;span class="hl-identifier"&gt;Object&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt; : &lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-reserved"&gt;null&lt;/span&gt;&lt;span class="hl-code"&gt; ? &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt; : &lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;for&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;lt; &lt;/span&gt;&lt;span class="hl-identifier"&gt;tagaelm&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;length&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;++&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;tagaelm&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nodeName&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-identifier"&gt;tagname&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;toUpperCase&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;tagaelm&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt;++;
			&lt;/span&gt;&lt;span class="hl-comment"&gt;//print_object(tagaelm[i]);
		&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;inner&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;tagaelm&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getElementsByTagName&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;*&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;inner&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;length&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;gt; &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;getAllTagsInTag&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;tagaelm&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;tagname&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	}
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;aTags&lt;/span&gt;&lt;span class="hl-code"&gt;;

&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Очень часто нужно глянуть элементу внутрь, для этого можно использовать простую дампалку:&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;print_object&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;str&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;for&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;prop &lt;/span&gt;&lt;span class="hl-reserved"&gt;in &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;str&lt;/span&gt;&lt;span class="hl-code"&gt;+=&lt;/span&gt;&lt;span class="hl-identifier"&gt;prop&lt;/span&gt;&lt;span class="hl-code"&gt; + &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt; = '&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;+ &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;prop&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;'&lt;/span&gt;&lt;span class="hl-special"&gt;\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	&lt;/span&gt;&lt;span class="hl-identifier"&gt;str&lt;/span&gt;&lt;span class="hl-code"&gt;+=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;/pre&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;write&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;str&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;

&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt; Лего модифицировать эту функцию, можно заставить её отдавать строку ;)&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/05/05/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/getelementsbytagname/"&gt;getElementsByTagName&lt;/a&gt;</description><pubDate>Tue, 05 May 2009 16:58:58 +0200</pubDate></item><item><title>removeNode и Mozilla FireFox :)</title><guid isPermaLink="true">http://deer.org.ua/2009/02/14/1/</guid><link>http://deer.org.ua/2009/02/14/1/</link><comments>http://deer.org.ua/2009/02/14/1/comments/</comments><description>Есть на свете браузер &lt;b&gt;клёвый ИЕ (кИЕ)&lt;/b&gt; и хорошая контора &lt;b&gt;Microsoft&lt;/b&gt;, и любит эта контора в свой кИЕ напихать функций нестандартных, вот одина из них &lt;b&gt;"removeNode"&lt;/b&gt;. По хорошему должна быть функция &lt;b&gt;removeChild&lt;/b&gt; :) , но что делать, если нужно поддержать какой нить огромный проект, типа &lt;b&gt;Битрикс&lt;/b&gt;, что очень любит фишечки с кИЕ :) Для этого можно в &lt;b&gt;прототайп&lt;/b&gt; добавить небольшую обёрточку, и жизнь станет на порядок легче ;)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;if&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-builtin"&gt;window&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;HTMLElement&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;HTMLElement&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;prototype&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeNode&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeChildren&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;Boolean&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeChildren&lt;/span&gt;&lt;span class="hl-brackets"&gt;) )
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;return this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;else &lt;/span&gt;&lt;span class="hl-brackets"&gt;{
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;createRange&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
      &lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;selectNodeContents&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;return this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;replaceChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;extractContents&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
  }
}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;зы: Это же касается чудесных кИЕ методов для &lt;b&gt;options.remove&lt;/b&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/02/14/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/"&gt;microsoft&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/"&gt;Internet Explorer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/"&gt;mozilla&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/firefox/"&gt;firefox&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/removechild/"&gt;removeChild&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/removenode/"&gt;removeNode&lt;/a&gt;</description><pubDate>Sat, 14 Feb 2009 16:10:17 +0200</pubDate></item><item><title>removeNode и Mozilla FireFox :)</title><guid isPermaLink="true">http://deer.org.ua/2009/02/14/1/</guid><link>http://deer.org.ua/2009/02/14/1/</link><comments>http://deer.org.ua/2009/02/14/1/comments/</comments><description>Есть на свете браузер &lt;b&gt;клёвый ИЕ (кИЕ)&lt;/b&gt; и хорошая контора &lt;b&gt;Microsoft&lt;/b&gt;, и любит эта контора в свой кИЕ напихать функций нестандартных, вот одина из них &lt;b&gt;"removeNode"&lt;/b&gt;. По хорошему должна быть функция &lt;b&gt;removeChild&lt;/b&gt; :) , но что делать, если нужно поддержать какой нить огромный проект, типа &lt;b&gt;Битрикс&lt;/b&gt;, что очень любит фишечки с кИЕ :) Для этого можно в &lt;b&gt;прототайп&lt;/b&gt; добавить небольшую обёрточку, и жизнь станет на порядок легче ;)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;if&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-builtin"&gt;window&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;HTMLElement&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;HTMLElement&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;prototype&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeNode&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeChildren&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;Boolean&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeChildren&lt;/span&gt;&lt;span class="hl-brackets"&gt;) )
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;return this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;removeChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;else &lt;/span&gt;&lt;span class="hl-brackets"&gt;{
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;createRange&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
      &lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;selectNodeContents&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;return this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;replaceChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;extractContents&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
  }
}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;зы: Это же касается чудесных кИЕ методов для &lt;b&gt;options.remove&lt;/b&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/02/14/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/"&gt;microsoft&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/"&gt;Internet Explorer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/"&gt;mozilla&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/firefox/"&gt;firefox&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/removechild/"&gt;removeChild&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/removenode/"&gt;removeNode&lt;/a&gt;</description><pubDate>Sat, 14 Feb 2009 16:10:17 +0200</pubDate></item><item><title>Javascript: вставить тег перед каким-то определённым тегом (или после)</title><guid isPermaLink="true">http://deer.org.ua/2008/12/06/1/</guid><link>http://deer.org.ua/2008/12/06/1/</link><comments>http://deer.org.ua/2008/12/06/1/comments/</comments><description>Для этого нужно всего лишь &lt;a href="http://yass.webo.in/" linkredir=""&gt;&lt;i&gt;найти тег&lt;/i&gt;&lt;/a&gt; и по ветке DOM ( &lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt; ) вставить перед тегом ( &lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt; ) , тег (созданым, например, через &lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;createElement&lt;/span&gt; ). Что бы вставить после определённого тега, к его &lt;span class="hl-identifier"&gt;id&lt;/span&gt; приписываем .&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Например:&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;optg&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;span class="hl-comment"&gt;// вставить тег перед тегом&lt;/span&gt;
&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;optg&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;span class="hl-comment"&gt;// вставить тег после тега&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul class="r1pxc"&gt;&lt;li&gt;&lt;a href="/samples/insert/index.html"&gt;&lt;b&gt;Посмотреть пример&lt;/b&gt;&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="/samples/insert/insert.zip"&gt;&lt;b&gt;Скачать пример (zip 4.7Kb)&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Если очень захотеть, то можно расширить &lt;b&gt;Node.prototype&lt;/b&gt; и добавить полезную функцию &lt;b&gt;insertAfter&lt;/b&gt;, что бы часто не писать &lt;b&gt;nextSibling&lt;/b&gt;, заодно мы проверяем есть ли парент элемент, если нет, то создаём ;) &lt;pre&gt;&lt;span class="hl-identifier"&gt;Node&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;prototype&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertAfter&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;newNode&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;refNode&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;refNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;span class="hl-code"&gt; 
	? &lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;newNode&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;refNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; 
	: &lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;appendChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;newNode&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2008/12/06/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/parentnode/"&gt;parentNode&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/parentnode/insertbefore/"&gt;insertBefore&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/nextsibling/"&gt;nextSibling&lt;/a&gt;</description><pubDate>Sat, 06 Dec 2008 22:55:23 +0200</pubDate></item><item><title>Javascript: вставить тег перед каким-то определённым тегом (или после)</title><guid isPermaLink="true">http://deer.org.ua/2008/12/06/1/</guid><link>http://deer.org.ua/2008/12/06/1/</link><comments>http://deer.org.ua/2008/12/06/1/comments/</comments><description>Для этого нужно всего лишь &lt;a href="http://yass.webo.in/" linkredir=""&gt;&lt;i&gt;найти тег&lt;/i&gt;&lt;/a&gt; и по ветке DOM ( &lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt; ) вставить перед тегом ( &lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt; ) , тег (созданым, например, через &lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;createElement&lt;/span&gt; ). Что бы вставить после определённого тега, к его &lt;span class="hl-identifier"&gt;id&lt;/span&gt; приписываем .&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Например:&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;optg&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;span class="hl-comment"&gt;// вставить тег перед тегом&lt;/span&gt;
&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;optg&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;span class="hl-comment"&gt;// вставить тег после тега&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul class="r1pxc"&gt;&lt;li&gt;&lt;a href="/samples/insert/index.html"&gt;&lt;b&gt;Посмотреть пример&lt;/b&gt;&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="/samples/insert/insert.zip"&gt;&lt;b&gt;Скачать пример (zip 4.7Kb)&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Если очень захотеть, то можно расширить &lt;b&gt;Node.prototype&lt;/b&gt; и добавить полезную функцию &lt;b&gt;insertAfter&lt;/b&gt;, что бы часто не писать &lt;b&gt;nextSibling&lt;/b&gt;, заодно мы проверяем есть ли парент элемент, если нет, то создаём ;) &lt;pre&gt;&lt;span class="hl-identifier"&gt;Node&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;prototype&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertAfter&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;newNode&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;refNode&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;refNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;span class="hl-code"&gt; 
	? &lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;insertBefore&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;newNode&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;refNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nextSibling&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; 
	: &lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;appendChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;newNode&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2008/12/06/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/parentnode/"&gt;parentNode&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/parentnode/insertbefore/"&gt;insertBefore&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/nextsibling/"&gt;nextSibling&lt;/a&gt;</description><pubDate>Sat, 06 Dec 2008 22:55:23 +0200</pubDate></item><item><title>setAttribute("class") не работает в ИЕ (Internet Explorer)</title><guid isPermaLink="true">http://deer.org.ua/2008/08/15/1/</guid><link>http://deer.org.ua/2008/08/15/1/</link><comments>http://deer.org.ua/2008/08/15/1/comments/</comments><description>JavaScript setAttribute "class" not work in IE &lt;pre&gt;&lt;span class="hl-comment"&gt;//Хорошо работает везде, кроме ИЕ - good for all but not IE
&lt;/span&gt;&lt;span class="hl-identifier"&gt;setAttribute&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;&#8217;&lt;/span&gt;&lt;span class="hl-reserved"&gt;class&lt;/span&gt;&lt;span class="hl-code"&gt;&#8216;, &#8216;&lt;/span&gt;&lt;span class="hl-identifier"&gt;value&lt;/span&gt;&lt;span class="hl-code"&gt;&#8217;&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;
&lt;/span&gt;&lt;span class="hl-comment"&gt;//в ИЕ работает вот так - IE only
&lt;/span&gt;&lt;span class="hl-identifier"&gt;setAttribute&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;&#8217;&lt;/span&gt;&lt;span class="hl-reserved"&gt;className&lt;/span&gt;&lt;span class="hl-code"&gt;&#8216;, &#8216;&lt;/span&gt;&lt;span class="hl-identifier"&gt;value&lt;/span&gt;&lt;span class="hl-code"&gt;&#8217;&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;
&lt;/span&gt;&lt;span class="hl-comment"&gt;//везде работает вот так ;) - good for all browsers
&lt;/span&gt;&lt;span class="hl-identifier"&gt;someElement&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-reserved"&gt;className&lt;/span&gt;&lt;span class="hl-default"&gt; = &#8216;&lt;/span&gt;&lt;span class="hl-identifier"&gt;value&lt;/span&gt;&lt;span class="hl-default"&gt;&#8217;; &lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2008/08/15/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/bugs/"&gt;bugs&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/bugs/classname/"&gt;className&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/"&gt;microsoft&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/"&gt;Internet Explorer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/setattribute/"&gt;setAttribute&lt;/a&gt;</description><pubDate>Fri, 15 Aug 2008 10:59:57 +0200</pubDate></item><item><title>Mozilla(firefox) javascript problem with the assignment width or height</title><guid isPermaLink="true">http://deer.org.ua/2008/06/28/1/</guid><link>http://deer.org.ua/2008/06/28/1/</link><comments>http://deer.org.ua/2008/06/28/1/comments/</comments><description>В мозиллке (фаерфоксе - Mozilla Firefox) когда добавляешь/изменяешь джаваскриптом длину(width), высоту(height) или другой параметр в пикселях(px), он не работает :( и получаешь ошибку ксс "параметр задан неправильно или не установлен" ("The parameter is incorrect"). Всего лишь нужно вконец величины дописать "px" :)&lt;br /&gt;&lt;br /&gt;Вот так:&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;width&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;somewidth&lt;/span&gt;&lt;span class="hl-default"&gt; + &lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;px&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2008/06/28/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/css/"&gt;css&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/css/width/"&gt;width&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/style/"&gt;style&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/css/"&gt;css&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/css/height/"&gt;height&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/"&gt;mozilla&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/firefox/"&gt;firefox&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/bugs/"&gt;bugs&lt;/a&gt;</description><pubDate>Sat, 28 Jun 2008 14:02:38 +0200</pubDate></item><item><title>Как получить название id элемента через this?</title><guid isPermaLink="true">http://deer.org.ua/2008/06/27/1/</guid><link>http://deer.org.ua/2008/06/27/1/</link><comments>http://deer.org.ua/2008/06/27/1/comments/</comments><description>Найдено методом тыка! :) &lt;br /&gt;После часового копания в свалке доков и стандартов &lt;br /&gt;&lt;br /&gt;Все просто:&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;a &lt;/span&gt;&lt;span class="hl-identifier"&gt;id&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;id_elementa&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;onClick&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;alert(this.id)&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;span class="hl-default"&gt;click&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/a&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2008/06/27/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/id/"&gt;id&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/html/"&gt;html&lt;/a&gt;</description><pubDate>Fri, 27 Jun 2008 13:27:52 +0200</pubDate></item></channel></rss>