2017-08-03 33 views
0

所以,我有一個jquery/JavaScript在HTML頁面中執行,並應檢查父頁面iframe是否具有id屬性,如果不添加一個。父jquery/JavaScript影響文檔也

但是,下面的代碼似乎將代碼添加到代碼正在執行的當前頁面中的所有iframe,而不僅僅是父代。

哪裏哦,我哪裏錯了?

if($('iframe#iframe1', window.parent.document).length == 0) 
    { 
    console.log('no iframe id'); 
    $('iframe', window.parent.document).attr('id','iframe1'); 
    console.log('iframe id added'); 
    } 
+0

你的iframe可以使用['window.frameElement'](https://developer.mozilla.org/en-US/docs/Web/API/Window/frameElement)直接訪問包含iframe元素,只要iframe和父元素都是相同的原點。 –

回答

1

代碼工作正常,你應該使用組合選擇的目標,你需要

if($('iframe#iframe1', window.parent.document).length == 0) 
    { 
    console.log('no iframe id'); 
    $('.classcontainername iframe', window.parent.document).eq(0).attr('id','iframe1'); 
    console.log('iframe id added'); 
    } 

您還可以使用.EQ(0)來限制對一審

+0

非常感謝! –