gpt4 book ai didi

javascript - 如何查找数据类型而不是页面类型

转载 作者:行者123 更新时间:2023-11-28 07:36:50 24 4
gpt4 key购买 nike

我正在使用同位素来过滤网页上的不同内容。现在我在 umbraco 中有一个展示页面,并且有两种数据类型,分别为 imagesvideos

在我使用同位素过滤内容的其他页面上,我使用页面类型来执行此操作:

$('#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;
});

我收到以下错误:

Uncaught Error: Syntax error, unrecognized expression: @CurrentPage.Images

我什至尝试从 Umbraco 获取实际的内容类型,但出现了非法语法错误。

有没有一种方法可以修改我的 JavaScript,以便它查找我想要的正确数据类型,而不是页面类型?

最佳答案

此处出现的错误是由于 @CurrentPage.Images 是服务器在渲染页面时尝试运行的 razor 脚本所致。如果当前页面上的属性“Images”未定义,则此操作将失败(这就是您在此处看到的内容)。

您在这里所做的事情也并不是您真正认为自己在做的事情。同位素脚本是在客户端运行的 javascript,因此它不能按照您在此处编写的方式与 razor 服务器端脚本一起使用。

听起来同位素中的过滤器需要一个类名来过滤,这意味着您必须查看实际输出图像和视频的模板代码。如果没有看到您的模板,我无法真正告诉您它是哪一部分,除了它很可能是带有“foreach”或“for”循环的东西,写出您的图像和视频元素。在此循环中,您必须修改它以将“视频”或“图像”类添加到正在输出的相应元素中,然后您将能够在同位素的过滤器属性中使用“.video”和“.image” .

关于javascript - 如何查找数据类型而不是页面类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28502522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com