>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >как сделать цикл обработки тегов http://forum.mozilla-russia.org/viewtopic.php?id=58546 |
LuckyD > 25-03-2013 23:17:05 |
Нашел пример кода который меняет один элемент, а как сделать перебор тегов циклом и изменить те, у которых id подходит под условие. Выделить код Код:var widgets = require("sdk/widget"); var tabs = require("sdk/tabs"); var widget = widgets.Widget({ id: "mozilla-link", label: "Mozilla website", contentURL: "http://www.mozilla.org/favicon.ico", onClick: function() { tabs.activeTab.attach({ contentScript: 'document.body.style.border = "5px solid red";' }) } }); |
KooL > 25-03-2013 23:29:41 |
А что за задача конкретно? |
LuckyD > 25-03-2013 23:40:34 |
Список из тегов DIV. У всех элементов id по маске - idXXXXX. Мне нужно в каждый добавить пиктограмму. |
LuckyD > 26-03-2013 23:49:08 |
Вот получилось что-то Выделить код Код:function(color) { var alldivs=window.content.document.getElementsByTagName('div'); for (var i = 0; i < alldivs.length ; i++){ if (i < 10) { alert(alldivs[i].id); //????????????????? } } например вставить блок между этими двумя тегами Выделить код Код:<div class="block1">Текст блока 1</div> // ???????????????????????????????????????????? <div class="block2">Текст блока 2</div> |
LuckyD > 27-03-2013 00:41:51 |
Нашел ответ: Выделить код Код:<script> function pasteMyHTML(id, html){ var element = document.getElementById(id); var tmp = document.createElement('DIV'); tmp.innerHTML = html; var childs = tmp.childNodes; for (var i = 0; i < childs.length; i++) element.parentNode.insertBefore(childs[i], element); element.parentNode.removeChild(element); } pasteMyHTML('here', (function(){ return '22222' })()); pasteMyHTML('and_here', eval('/*some js code here*/ "some string"')); </script> Вот здесь хорошее обсуждение этого вопроса. |