今天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 与主页面在同一个域。