Могу ли я автоматически скрывать определенные элементы из Blogger из предыдущих сообщений, используя Javascript на лету?

Я сделаю длинную историю короткой, у меня есть blogger/blogspot блог. На каждый пост я вручную размещал объявление внутри поста в виде таблицы. Теперь я хочу удалить всю эту рекламу. Мой вопрос: возможно ли сделать это с помощью Javascript «на лету», когда пользователь загружает страницу, без ручного удаления рекламы из каждого отдельного сообщения в блоге?

Спасибо за вашу помощь.


person Beshoy    schedule 23.09.2012    source источник


Ответы (1)


Если объявления имеют общий класс, например, ad, вы можете использовать:

function killMe(el){
   el.parentNode.removeChild(el);
}
var els=document.getElementsByClassName('ad');
for(var i=0;i<els.length;i++){
    killMe(els[i]);
}

Изменить:

Затем вы можете использовать

document.getElementsByClassName = document.getElementsByClassName || function(cName) {
    var arr=[],
        els=document.getElementsByTagName("*");
    for(var i=0,l=els.length;i<l;i++){
        if(els[i].className.split(' ').indexOf(cName)>-1){
            arr.push(els[i]);
        }
    }
    return arr;
}
function killMe(el){
   el.parentNode.removeChild(el);
}
var els=document.getElementsByClassName('post-body');
for(var i=0;i<els.length;i++){
    killMe(els[i].getElementsByTagName('tr')[0]);
}
person Oriol    schedule 23.09.2012
comment
Я только что проверил исходный код, и нет, он не в ‹div›. Это сырая таблица. В самой таблице есть «Имя класса», но также есть тело сообщения, а также часть, которую я хочу удалить. В любом случае, спасибо за вашу ценную помощь @Oriol :) - person Beshoy; 23.09.2012
comment
@Beshoy Неважно, <div> это или <table>. Тогда вы имеете в виду, что таблица содержит рекламу и тело сообщения (которое вы не хотите удалять)? - person Oriol; 24.09.2012
comment
Да, именно это я и имел в виду. Это таблица, в которой есть две таблицы: одна для объявления, а другая для тела сообщения. - person Beshoy; 24.09.2012
comment
@Beshoy А есть ли класс у той части таблицы, которая содержит только объявление? - person Oriol; 24.09.2012
comment
@Beshoy Но хотя бы закономерность есть? Например, первый ряд. Можешь скинуть ссылку на свою страницу? - person Oriol; 24.09.2012
comment
вот тестовый блог с той же структурой постов, что и в исходном блоге, я использую его для тестирования. dynamic-javascript.blogspot.com - person Beshoy; 24.09.2012
comment
Между прочим, это дает мне ошибку при использовании фрагмента кода, опубликованного выше, вот ошибка: Ошибка синтаксического анализа XML, строка 20, столбец 26: за типом элемента els.length должны следовать либо спецификации атрибута, › или /›. - person Beshoy; 24.09.2012
comment
@ Я посмотрю ваш сайт. Но ошибка появляется из-за того, что браузер анализирует XML внутри файла <scrip>. Чтобы этого избежать, создайте раздел CDATA: <script type="text/javascript">/*<![CDATA[*/ [code] /*]]>*/</script> - person Oriol; 24.09.2012
comment
Большое спасибо за вашу драгоценную помощь, я сделал все, что вы сказали. Я поместил код в теги <script> один раз перед тегом Header, а другой — после тега Body, но, похоже, это не работает для меня. В любом случае, спасибо, что потратили это время, пытаясь помочь мне. Спасибо, мужик :) - person Beshoy; 25.09.2012