JQuery; $ (). css не удалось обновить стиль объекта

0

поэтому я получаю div, поставляемый rss-каналом, и стили меняются, поэтому ссылки внутри div появляются с серым цветом, а не с оригинальным синим стилем. это происходит из таблицы стилей, включенной на локальную страницу.

здесь фрагмент кода, который я получаю из rss-канала;

...<td style="padding-left:5px; padding-right:5px; padding-bottom:5px; line-height: 150%">
   <a href="http://www.blah.co.uk/destinations/destination~GRJ~George/" target="_blank">
      <span style="color:0e6ac8;">
         <span style="font-size:12px;">
            <strong>Joburg-George</strong>
         </span>
      </span>
   </a>
</td>...

Обратите внимание на встроенный стиль цвета; <span style="color:0e6ac8;"> Этот стиль переопределяется стилем в таблице стилей. ранее я просто поместил некоторый jquery после включенного блока, чтобы изменить этот цвет, но команда отклонила мой запрос на тягу, поскольку это было слишком специфично;

<div id="marketing_block" style="padding-left:0px;margin-left:0px;width:890px;">
     <?php echo $marketing_content['post_content']; ?>
</div>
<script type="text/JavaScript">
    $("#marketing_block a span").each(function(){
        $(this).css('color', '#0E6AC8');
    });
</script>

Проблема в том, что содержимое rss-канала будет время от времени меняться, поэтому я должен сохранить все встроенные стили для всех тегов внутри div #marketing_block.

update: я просто попробовал это и не получил никаких ошибок, но все же ссылки остаются серыми;

<script type="text/JavaScript">
    $("#flight_marketing_block").find("*").each(function(){
       //$(this).css('color', '#0E6AC8');
       var style = $(this).attr("style");
       if(style != undefined && style != ''){
          try{
              style = "'" + style.replace(/:/gi, "':'").replace(/;/gi, "';'").replace(/;/g, ",").replace(/\'\s/, "'").replace(/.[\'|,]\s?$/, '') + "'";
              alert("style: " + style);
              for(var index in style.split(',')){
                 $(this).css(index.split(':')[0], index.split(':')[1]);
              }

          }catch(e){
             alert("problem: " + e.message)
          }
       }
    });
</script>
Теги:
rss

1 ответ

0

Вы не можете изменить стиль поля RSS Feed. bcoz находится внутри iframe, и вы не можете получить доступ к элементу внутри iframe без идентификатора этого iframe, а id iframe, заданного RSS-каналом, - это изменения при каждом обновлении

Ещё вопросы

Сообщество Overcoder
Наверх
Меню