如何获取<a> tag inside iframe

时间:2015-11-19 12:52:46

标签: jquery iframe

I have several iframes in a page (without any ID / classes) generated through a third party advertisement script . I have extracted all the iframe objects through

$(document).ready(function($){
$("iframe").each(function(index) {
   console.log(this);
var ur =  $(this).attr('src');

Now i need to find the anchor tag url (ie href) inside this iframe (There is only one anchor tag inside each iframe . Please help .

3 个答案:

答案 0 :(得分:0)

您可以使用JQuery上的子选择器来选择所有iframe标记的子标记。

$("iframe a")

如果锚标记是iframe标记中的第一个子标记,则甚至是直接子选择器。

$("iframe > a")

答案 1 :(得分:0)

您说iframe来自第三方网站,但由于DOM,您将无法通过javascript访问该网站same origin policy内的元素。

远离javascript(如果可能),通过PHP / Ruby / Python获取页面然后解析内容,我不认为这可以在浏览器端完成。对于如何使用您选择的语言提取和解析,您应该ask another question

这个简短的答案是你不能,因为同源政策说:

  

根据该政策,网络浏览器允许首先包含的脚本   用于访问第二个网页中的数据的网页,但仅限于两个网页   页面具有相同的来源。原点被定义为组合   URI方案,主机名和端口号。1此策略阻止a   一页上的恶意脚本获取对敏感数据的访问权限   在另一个网页上通过该页面的文档对象模型。

对于任何达到这一点且希望在iframe上执行此操作的人

$("iframe").each(function(){
    alert($(this).contents().find("a").first().attr("href"));
});

答案 2 :(得分:-1)

获取当前元素(iframe)的子元素(a)并获取属性

&#13;
&#13;
var url = $('a', this).attr('href');
alert(url);
&#13;
<iframe withd="50px"> <a href="google.com"></a></iframe>
&#13;
&#13;
&#13;