javascript - 查询 :not selector doesn't work with style on class

标签 javascript jquery html css django

我正在尝试为我的网站制作产品页面,不幸的是我无法在 Javascript 中隐藏除特定页面之外的任何其他显示。

首先,我将每 24 个 div 打包成一个 div:

var lis = $(".products li");
for(var i = 0; i < lis.length; i+=24) {
  lis.slice(i, i+24)
     .wrapAll("<div class='products'></div>");
}

然后我给类的每个对象,它的id:

$('.products').each(function(i, obj) {
    if (i > 0) {
       obj.id = "p" + i
    }
});

我测试过它是否可行,确实可行。

之后,我发出 GET 请求,以便用户选择页面。

{{ currentpagen }} 是 GET 请求的值,例如,在本例中为 1

然后我添加了代码,所以所有其他 div 都将被隐藏,除了当前页面第一:

   $(".products:not(#p + {{ currentpagen }})").css("display", "none"); 
   $('#p' + {{ currentpagen }}).css("display", "flex");

这是行不通的,所有元素都将被隐藏,包括那些不应该被想法隐藏的元素,例如,在这种情况下,所有元素都应该被隐藏,#p1 除外.


那么可能是什么问题呢?有没有更好的方法来做到这一点? Id 显然有效,因为我尝试改变他们的风格,但我认为它与 :not 选择器有关。

如果您想知道双花括号的用途,它在 Django 中用于将变量从系统移动到 HTML,因此每当我获得 GET 请求的值时,我将变量传输到 HTML,然后使用双花括号大括号 {{}}。

最佳答案

你应该注意你的模板系统正在用你的 JavaScript 代码做什么。

恕我直言,这可能会更好:

$(".products:not(#p" + {{ currentpagen }} + ")").css("display", "none"); 

结果应该是这样的:

enter image description here

关于javascript - 查询 :not selector doesn't work with style on class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465967/

相关文章:

javascript - 无法在 iMacros 中使用 javascript 捕获屏幕截图

javascript - 添加和删​​除用于切换选项卡的类

html - CSS - 以元素自身宽度的百分比定位元素

javascript - 如何记录数组的特定值

javascript - 这个复杂的递归代码是如何工作的?

javascript - 文本/形状内斜 Angular 效果

jQuery 在单击时显示 div,隐藏多个嵌套 div 中的其他内容

html - 导航页面内容对齐

html - LI visibility 与 UL 高度无关

javascript - 为什么我的 Auto-Clicker 脚本会收到此 Uncaught TypeError?