javascript
  • jquery
  • html
  • css
  • django
  • 2017-02-26 68 views 0 likes 
    0

    我正在嘗試爲我的網站製作產品頁面,不幸的是我沒有在Javascript中隱藏除特定頁面以外的任何其他顯示。Jquery:沒有選擇器不能在類上的樣式工作

    首先,我結束了在單一div每24 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之外的所有元素應該已被隱藏。


    那麼問題是什麼呢?有沒有更好的方法來做到這一點?編號顯然工作,因爲我試圖改變他們的風格,但我認爲這是:not選擇。

    如果你想知道雙曲花括號是什麼,它在Django中用於將變量從系統移動到HTML,所以每當我獲得GET請求的值時,我都會將變量轉換爲HTML,然後將它用於雙花括號{{}}。

    +0

    什麼是那些雙花括號中'{{currentpagen}}'呢? – gus27

    +0

    + gus27從我使用的框架中,變量從系統到模板(HTML)使用雙花括號,所以它是GET請求的值,例如,當用戶輸入鏈接'w.com/?browse= 1',我會將變量1從系統傳輸到HTML,並使用雙花括號。 – ShellRox

    回答

    1

    你應該留意你的模板系統在你的JavaScript代碼中做了什麼。

    恕我直言,這可以更好的工作:

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

    結果應該是這樣的:

    enter image description here

    +0

    感謝您的回答,不幸的是,由於某種原因,它仍然無法正常工作,爲什麼會這樣呢? – ShellRox

    +1

    @ShellRox很難說沒有看到由此產生的頁面源代碼。查看瀏覽器中的HTML/JavaScript源代碼 - 如果錯誤不明顯,請將其發佈到您的問題中。 – gus27

    +0

    我現在正在使用http://tonskins.com,根本沒有關於此代碼的錯誤,並且腳本位於源代碼view-source中:http://mtonskins.pythonanywhere.com/?browse = 1腳本位於源代碼的末尾。 – ShellRox

    相關問題