jQuery动态选择器和元素

时间:2012-01-25 11:30:07

标签: jquery jquery-tools

jsFiddle完整代码: http://jsfiddle.net/bvmdW/

我使用jQuery Embedly用缩略图和视频替换YouTube链接。我在CSS中使用display:none隐藏视频部分。 Embedly脚本将在此过程中动态创建以下DOM:

<li id="1">
    <img rel="vidPreview-1" class="embedly" src=".....">
    <div id="vidPreview-1" class="vidPreview"> iframe videos here </div>
</li>
<li id="1">
    <img rel="vidPreview-2" class="embedly" src=".....">
    <div id="vidPreview-2" class="vidPreview"> iframe videos here </div>
</li>

<img rel="vidPreview-X"<div id="vidPreview-X都是由Embedly动态生成的。

现在,我还会使用jQueryTools Overlay插件在点击缩略图时弹出隐藏的视频。我用过:

$("img[rel]").live('click', function () {
    $(this).overlay().load();
});

但似乎Overlay插件无法识别live()。在Firebug中它说:uncaught exception: Could not find Overlay: vidPreview-X

有人可以指导我如何使用jQueryTools Overlay制作live()吗?

2 个答案:

答案 0 :(得分:2)

在img标签中,你错过了rel属性中的#。请将#添加到rel attr值。再次检查。

 <li id="1">
     <img rel="#vidPreview-1" class="embedly" src=".....">
     <div id="vidPreview-1" class="vidPreview"> iframe videos here </div> </li> <li id="1">
     <img rel="#vidPreview-2" class="embedly" src=".....">
    <div id="vidPreview-2" class="vidPreview"> iframe videos here </div> </li>

答案 1 :(得分:0)

我不确定,但尝试使用委托功能http://api.jquery.com/delegate/ 我曾多次面对live的奇怪行为。