1

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

他们正在将 url 加载到 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() );
});

不工作。

4

2 回答 2

2

这似乎是一个语法错误。

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

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

于 2012-04-10T14:16:31.073 回答
2

大概有6个问题:

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

下面的代码应该做你想做的事:

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

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

于 2012-04-10T14:22:32.747 回答