今天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 与主页面在同一个域。
博客围绕OA需求展开,要在链接后增加用户账户密码再跳转。该链接在iframe里,起初直接find报错,后用iframe.contents().find(\a\)成功获取a标签链接,实现拼接参数跳转。还介绍了contents()方法,可获取子节点构造新jQuery对象,也能获取同域iframe内容文档。
756

被折叠的 条评论
为什么被折叠?



