2014-12-10 2 views
0

Я пытаюсь включить пользовательскую кнопку в каждый твит, который появляется на временной шкале.Добавление элемента в div, если он еще не добавлен через расширение Chrome

var tweets = $(".tweet"); 
var len = tweets.length; 
for(var i=0;i<len;i++){ 
    if($(tweets[i]).has(".custom-button-class").length){ 
     console.log("already added"); 
    } 
    else{ 
     console.log("needs to be added"); 
     $(d).appendTo(tweets[i]); // d is the element that I am trying to append to every tweet 
    } 
} 

Я хочу, чтобы элемент будет добавлен только если твит уже на странице и если элемент уже не прилагается к нему. Пожалуйста, помогите, спасибо :)

EDIT 1: Этот код добавляет элементы снизу, как их добавить сверху? Так что пользователь не видит какого-либо отставания (как обычно, пользователь будет наверху при обновлении)? Выполнено
EDIT 2: Если я использую 2000 как таймер обновления, он добавляет элемент к одному твиту за обновлениеInterval. Таким образом, это задерживает процесс добавления элементов в каждый твит. Я хочу добавить элемент ко всем твитам (к которым не прилагается ранее) одновременно. Возможное? Совершено
Смотрите скриншот

enter image description here

+1

Вы можете попробовать реверсивный цикл, т.е. начиная с графа-1 до 0 –

+0

Я пробовал именно это (как раз перед вашим комментарием). Спасибо :) – Sahil

+0

Я заслуживаю права голоса;) –

ответ

1

Вы можете проверить, если кнопка уже добавлен с:

if(!$(tweets[i]).has(".custom-class").length) { 
    $(d).clone().prependTo(tweets[i]); 
} 
+0

Nope. Не работает. Он просто продолжает добавлять элемент к первому твиту на странице в любое время. – Sahil

+0

Хорошо, я понял - проблема - в моем цикле for, при одном выполнении моей функции выполняется только одно значение. Не все. Итак, вот почему ... один элемент добавляется к одному твиту за раз. Какой-нибудь ключ, почему? Как это сделать правильно? @Ferret – Sahil

+2

попробовал $ (d) .clone(). AppendTo()? – Ferret

Смежные вопросы