今天OA里有個需求,要在一個鏈接后,增加當前用戶的賬戶密碼,再跳轉。
打開頁面查看源碼,發現,這個鏈接在iframe里,以為能夠根據iframe直接find出來
試了試。報錯:Uncaught TypeError: parent.triggerMouseupHandle is not a function
網上找了下。
iframe.contents().find("a"),是能成功獲取a標簽鏈接,拼接參數再跳轉。
$("#iframe").contents().find("a").bind("click",function(){ window.open($(this).attr("href")+"&username="+username+"&password="+pwd); return false; })
當然也能干其他的很多事情。比如往iframe插入內容等。
大概理解了下contents()方法,直接獲取代碼文本,構造新的jQuery對象,就能做一系列操作了。
附查到的contents()方法
contents() 方法獲得匹配元素集合中每個元素的子節點,包括文本和注釋節點。
詳細說明
如果給定表示 DOM 元素集合的 jQuery 對象,.contents() 方法允許我們檢索 DOM 樹中的這些元素的直接子節點,並用匹配元素構造新的 jQuery 對象。.contents() 和 .children() 方法類似,不同的是前者在結果 jQuery 對象中包含了文本節點以及 HTML 元素。
.contents() 方法也可以用於獲得 iframe 的內容文檔,前提是該 iframe 與主頁面在同一個域。