Javascript 如何查找数据类型而不是页面类型
我用同位素来过滤我网页上的不同内容。现在,我在umbraco中有一个showcase页面,我有两个数据类型,分别称为Javascript 如何查找数据类型而不是页面类型,javascript,jquery,umbraco,jquery-isotope,Javascript,Jquery,Umbraco,Jquery Isotope,我用同位素来过滤我网页上的不同内容。现在,我在umbraco中有一个showcase页面,我有两个数据类型,分别称为图像和视频 在我使用同位素过滤内容的其他页面上,我使用页面类型进行过滤: $('#filterNews').click(function () { $('.isotope').isotope({ filter: '.NewsItem', layoutMode: 'masonry' }); $('.newsfilters .btn').removeClass('act
图像
和视频
在我使用同位素过滤内容的其他页面上,我使用页面类型进行过滤:
$('#filterNews').click(function () {
$('.isotope').isotope({ filter: '.NewsItem', layoutMode: 'masonry' });
$('.newsfilters .btn').removeClass('active');
$(this).addClass('active');
return false;
});
但是,我需要修改上面的内容,以便在页面上查找数据类型。我尝试了以下方法:
$('#filterNews').click(function () {
$('.isotope').isotope({ filter: '@CurrentPage.Images', layoutMode: 'masonry' });
$('.newsfilters .btn').removeClass('active');
$(this).addClass('active');
return false;
});
我得到以下错误:
未捕获错误:语法错误,无法识别的表达式:@CurrentPage.Images
我甚至还试图从Umbraco获取实际的内容类型,但是出现了非法的语法错误
有没有一种方法可以修改我的javascript,让它查找我要查找的正确数据类型,而不是页面类型 此处出现的错误是由于@CurrentPage.Images是服务器在呈现页面时试图运行的razor脚本。如果当前页面上的属性“Images”未定义,则此操作将失败(这是您在此处看到的) 你在这里做的也不是你认为你在做的。同位素脚本是运行clientside的javascript,因此它不能像您在这里编写的那样与razor服务器端脚本一起工作 听起来同位素中的过滤器需要一个类名来进行过滤,这意味着您必须查看实际输出图像和视频的模板代码。没有看到你的模板,我真的不能告诉你它是哪一部分,除了它很可能是一个“foreach”或“for”循环,写出你的图像和视频元素。在这个循环中,您必须对其进行修改,以便将“video”或“image”类添加到要输出的各个元素中,然后才能在同位素的filter属性中使用“.video”和“.image”