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 .
答案 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)并获取属性
var url = $('a', this).attr('href');
alert(url);

<iframe withd="50px"> <a href="google.com"></a></iframe>
&#13;