Jquery 在iframe中加载动态url

Jquery 在iframe中加载动态url,jquery,ajax,events,jsonp,bing-api,Jquery,Ajax,Events,Jsonp,Bing Api,我在这里看到了一些很酷的东西 他们正在将url加载到iframe中,以便快速查看。我想为我的网站做同样的事情。我正在使用bing API,例如: 因此,我附加了一个iframe和一个div来触发加载事件: <div class="blok"></div> <iframe class="ifram" src="" width="100" height="100"></iframe> 不起作用。似乎是语法错误 $(".block").click(fu

我在这里看到了一些很酷的东西

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

因此,我附加了一个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() );
});

你忘了在
(.desc a),this.text()前面加“$”

这似乎是语法错误

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

你忘了在
(.desc a),this.text()前面加“$”

大约有6件事出错:

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

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

    jshiddle:

    大约有6件事出错了:

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

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

    jsFiddle:

    难以置信。非常感谢:)谢谢你指出并解释得如此详细。难以置信。非常感谢:)并感谢您如此详细地指出和解释。