在iframe中加载动态网址

时间:2012-04-10 14:07:00

标签: jquery ajax events jsonp bing-api

我在Yippy

看到了一些非常酷的东西

他们正在将网址加载到iframe中以便快速查看。我想为我的网站做同样的事情。我正在使用bing API,例如:JsFiddle

所以我附加了一个iframe和一个div来触发加载事件:

<div class="blok"></div>
<iframe class="ifram" src="" width="100" height="100"></iframe>

我尝试了这个活动:

$(".block").click(function () { 

$(".ifram").attr("src", (".desc a", this).text() );
});

不起作用。

2 个答案:

答案 0 :(得分:2)

这似乎是语法错误。

$(".block").click(function () { 
  $(".ifram").attr("src", $(".desc a", this).text() );
});

你忘了在(".desc a", this).text()之前加上“$”。

答案 1 :(得分:2)

大约有6件事:

  1. 您正在使用.click(),但结果是动态添加的,因此您需要使用实时处理程序,例如.on()
  2. html中的元素为.blok,但您将事件绑定到.block
  3. 您正在尝试设置每个 .ifram元素的src
  4. 您忘记了选择器前面的$
  5. 您正在向选择器传递元素本身的上下文,但您要查找的锚是在兄弟中
  6. 您正在访问锚点的文本,而不是href。
  7. 以下代码应该执行您想要的操作:

    $("body").on('click', '.blok', function () {
        $(this).siblings(".ifram").attr("src", $(this).siblings('p.desc').find('a').attr('href') );
    });
    

    jsFiddle:http://jsfiddle.net/aHCT5/18/