我正在尝试从此
获取所有超链接<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();
答案 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>