Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№125-03-2013 23:17:05

LuckyD
Участник
 
Группа: Members
Зарегистрирован: 25-03-2013
Сообщений: 9
UA: Firefox 19.0

как сделать цикл обработки тегов

Нашел пример кода который меняет один элемент, а как сделать перебор тегов циклом и изменить те, у которых 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";'
      })
    }
});

Отредактировано LuckyD (25-03-2013 23:18:47)

Отсутствует

 

№225-03-2013 23:29:41

KooL
Участник
 
Группа: Members
Зарегистрирован: 23-12-2010
Сообщений: 1336
UA: Palemoon 19.0

Re: как сделать цикл обработки тегов

А что за задача конкретно?
Если что-то простейшее: по какому-то событию изменить стиль всех элементов с одинаковым классом на одинаковый другой стиль; то в данном случае никакой цикл и не нужен. А лучше всего будет при этом событии изменить, например, айдишник для боди, соответственно в стилях прописать правила для этого. Это рациональнее.

Отредактировано KooL (25-03-2013 23:45:38)

Отсутствует

 

№325-03-2013 23:40:34

LuckyD
Участник
 
Группа: Members
Зарегистрирован: 25-03-2013
Сообщений: 9
UA: Firefox 19.0

Re: как сделать цикл обработки тегов

Список из тегов DIV. У всех элементов id по маске - idXXXXX. Мне нужно в каждый добавить пиктограмму.

Отредактировано LuckyD (26-03-2013 23:44:16)

Отсутствует

 

№426-03-2013 23:49:08

LuckyD
Участник
 
Группа: Members
Зарегистрирован: 25-03-2013
Сообщений: 9
UA: Firefox 19.0

Re: как сделать цикл обработки тегов

Вот получилось что-то :D

Выделить код

Код:

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>

:sick:

Отредактировано LuckyD (27-03-2013 00:05:43)

Отсутствует

 

№527-03-2013 00:41:51

LuckyD
Участник
 
Группа: Members
Зарегистрирован: 25-03-2013
Сообщений: 9
UA: Firefox 19.0

Re: как сделать цикл обработки тегов

Нашел ответ:

Выделить код

Код:

<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>

Вот здесь хорошее обсуждение этого вопроса.
http://xpoint.ru/forums/programming/jav … 9674.xhtml

Отредактировано LuckyD (28-03-2013 12:09:49)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]