Javascript 可以在类上调用fancybox吗?
我无法在这样的元素上调用fancybox:Javascript 可以在类上调用fancybox吗?,javascript,jquery,css,fancybox,Javascript,Jquery,Css,Fancybox,我无法在这样的元素上调用fancybox: $(this).parent().parent().parent().find('.comments').fancybox(); 这不可能吗?这是因为它是一个类而不是一个id吗? 我有几行项目,因此不可能为所有项目都设置ID 有什么建议吗?下面是整个JS代码(这里的show()可以工作,但是fancybox()失败): 对元素调用.fancybox(),只会初始化fancybox。实现它的最佳方式取决于您的HTML,您没有发布HTML 但无论如何,这
$(this).parent().parent().parent().find('.comments').fancybox();
这不可能吗?这是因为它是一个类而不是一个id吗?
我有几行项目,因此不可能为所有项目都设置ID
有什么建议吗?下面是整个JS代码(这里的show()可以工作,但是fancybox()失败):
对元素调用.fancybox()
,只会初始化fancybox。实现它的最佳方式取决于您的HTML,您没有发布HTML
但无论如何,这一解决方案应该有效:
$(".action").click(function(e) {
e.preventDefault();
var a = document.createElement('a');
var jqA = $(a);
jqA.fancybox({
content: $(this).parent().parent().parent().find('.comments').html()
// other options go here
});
jqA.click();
return false;
});
对元素调用.fancybox()
,只会初始化fancybox。实现它的最佳方式取决于您的HTML,您没有发布HTML
但无论如何,这一解决方案应该有效:
$(".action").click(function(e) {
e.preventDefault();
var a = document.createElement('a');
var jqA = $(a);
jqA.fancybox({
content: $(this).parent().parent().parent().find('.comments').html()
// other options go here
});
jqA.click();
return false;
});
只用
$(this).closest('.comments').fancybox();
外部单击功能。只需使用
$(this).closest('.comments').fancybox();
外部单击功能。您用错误的方式调用它;请尝试以下操作:
$('.action').click(function(e){
e.preventDefault();
target = $(this).closest('.comments').html();
$.fancybox({
content: target
// More Options
});
return false;
});
我希望这有帮助 你说得不对;请尝试以下操作:
$('.action').click(function(e){
e.preventDefault();
target = $(this).closest('.comments').html();
$.fancybox({
content: target
// More Options
});
return false;
});
我希望这有帮助 您是否已检查以确保您实际返回了一个元素?
$(this).parent().parent().parent().find('.comments')
是否返回您期望的实体?是的。我已经尝试了show()它,并且它工作了。我已经在问题中添加了JS代码,以供更多参考。您是否尝试过将元素设置为var并对其调用fancybox?var$target=$(this).closest('.comments')$target.fancybox();您是否已检查以确保您实际返回了一个元素?$(this).parent().parent().parent().find('.comments')
是否返回您期望的实体?是的。我已经尝试了show()它,并且它工作了。我已经在问题中添加了JS代码,以供更多参考。您是否尝试过将元素设置为var并对其调用fancybox?var$target=$(this).closest('.comments')$target.fancybox();它肯定会显示模式,但它是空白的。我猜它是隐藏的,所以使用content:$(this)。最近('.comments').show()`它肯定会显示模式,但它是空白的。我猜它是隐藏的,所以使用content:$(this)。最近('.comments').show()`NP。我认为如果您在第3行末尾添加.html()
,dSquared的解决方案可能会更好-我没有意识到您可以打开一个模式调用$.fancybox()代码>直接链接。我认为如果您在第3行末尾添加.html()
,dSquared的解决方案可能会更好-我没有意识到您可以打开一个模式调用$.fancybox()代码>直接