如何从<li> </li>获取iframe中的超链接

时间:2014-01-20 10:49:12

标签: jquery iframe

我正在尝试从此

获取所有超链接
<div class="eod-rhs">
<ul>
<li><a href="">sdf</a></li>
<li><a href="">sdf</a></li>
</ul></div>

上面的代码在iframe中,所以我尝试了这个但是我得不到合适的结果。

var links = $("#frametest").contents().find(".eod-rhs").find('a').attr('href').next();  

2 个答案:

答案 0 :(得分:0)

您无法在href属性上致电next()。如果您想在具有a属性的任何href元素之后提取下一个元素,则应使用:

$("#frametest").contents().find(".eod-rhs").find("a[href]").next();

但是,您的a元素没有 next 元素,因为它们是li元素中包含的唯一元素。

如果您想要使用a属性提取所有 href元素,则需要删除next()

$("#frametest").contents().find(".eod-rhs").find("a[href]");

然后,您可以使用each()

进行迭代
$("#frametest").contents().find(".eod-rhs").find("a[href]").each(function() {
    console.log(this.href);
});

答案 1 :(得分:0)

首先,您应该在加载iframe内的页面后执行您的javascript。为此你可以使用onload函数,例如:

<iframe id="frametest" src="x.html" onload="javascript:onloadcomplete();"></iframe>

<script type="text/javascript">
var onloadcomplete = function(){
    var links = $("#frametest").contents().find(".eod-rhs li a");
    var hrefs = [];
    links.each(function(){
        hrefs.push($(this).attr("href"));
    });
    console.log(hrefs);
}
</script>