2015-09-09 17 views
2

我想通過使用jQuery在iframe div中添加CSS屬性,但它不起作用。如何通過jQuery在iframe中更改/添加CSS

HTML代碼: -

<html> 
    <body> 
     <iframe id='iframeId' src='api.php?abc=xyz..'> 
     <html> 
      <head></head> 
      <body> 
      <div class='change-class'> //require <div class='change-class' style='background-color:black'> 
       ....... 

      </div> 

      </body> 
     </html> 
     </iframe> 
    </body> 
</html> 

JS代碼: -

我嘗試下面的代碼,但沒有得到任何結果。

$('.change-class').css('background-color','black'); 
$("#iframeId").contents().find(".change-class").attr('style','background-color=black'); 
+0

它是類似http://stackoverflow.com/questions/217776/how-to-apply-css-to-iframe –

+0

您是否獲得「不同產地的錯誤」,而越來越' $( 「#iframeId」)。康特nts()。find(「。change-class」)' – Abhi

+1

我想你應該忘了這個。因爲這是不可能的,直到你的CSS不在那個iframe中。 –

回答

1

爲此,IFRAME SRC文件還應該是在同一個域訪問iframe的DOM節點,如果你有相同的域上的頁面,那麼你可以這樣做:

$("#iframeId").contents().find(".change-class").css('background-color', 'black'); 
+4

問題......不應該是'.css()'而不是'.attr()'...? –

+3

如果兩個文件都在同一個域,那麼他爲什麼要通過JavaScript添加CSS。他應該將css直接添加到iframe中。 –

+2

謝謝@Abhi離開了一段時間。 – Jai

-1

你可以尋找使用這樣的方式:

var iframe = $('iframe'); 
$(".change-class", iframe.contents()).addClass('border');