-1

我有一个循环我的 li 元素的 foreach。在这个元素中,我将 href 属性设置为 #Sendbox,这是调用 div 元素的 id。但是fancybox将无法正常工作。

如果我从 li 元素中删除 id-attribute 它会按预期工作,但这对我来说不是解决方案,因为我需要 id-attribute 来获取其中的其他数据值。

这是我的代码:
HTML + PHP:

<ul>
<?php foreach($arrTags as $key => $value) { ?>
<li><a href="#SendBox" class="TheBox" id="setTag_<?php echo $value['userID']; ?>" data-tagid="<?php echo $value['tagID']; ?>"><?php echo $value['userName']; ?></a></li>
<?php } ?>
</ul>  
<div id="SendBox" style="display:none"><h2>Box was sent..</h2></div>

这是我的幻想代码:

$('[id^=setTag_]').click(function() {
$('.TheBox').click(function(){  
    $(".TheBox").fancybox({
        width   : 350,
        height  : 400,
    });
});
});

我试图找到锻炼,但仍然没有运气。
也许有人知道解决方案吗?

4

1 回答 1

0

您的逻辑没有意义,因为您可以使用元素的 ID ( setTag_*) 或类 ( TheBox) 调用 fancybox,否则是多余的并且可能会产生意想不到的结果。此外,您不需要该.click()方法,除非您想在手动模式下调用 fancybox。

这些脚本中的任何一个都可以工作:

$(".TheBox").fancybox({
    width: 350,
    height: 400 //<-- No trial comma on the last option
});

... 或者

$('[id^=setTag_]').fancybox({
    width: 350,
    height: 400 //<-- No trial comma on the last option
});

...的,fancybox 支持通配符选择器。见JSFIDDLE

于 2013-02-13T19:21:46.080 回答