jquery
  • css
  • 2013-05-22 49 views 0 likes 
    0

    問題1:我有三個變量。 className引用一個字符串。返回包含內容並且鏈接包含一個 html字符串。我正在嘗試將內容分配給任何可變的類名引用。jQuery選擇器和css錯誤

    var back = "test"; 
    var className = "link1"; 
    var link1 = '<div id="back" class="gohome"></div><div class="link3"></div><div class="link4"></div>'; 
    

    因爲下面的代碼似乎並沒有爲我工作

    $(className) = className + back; 
    

    問題2:在下面的代碼似乎沒有被任何更新的變量prevClass包含CSS。

     $('[id*="back"]').each(function(){ 
          $('.' + prevClass).css({'left': '-123px'}); 
          $('.' + prevClass).css({'top': '430px'}); 
          $('.' + prevClass).css({'width': '123px'}); 
          $('.' + prevClass).css({'height': '44px'}); 
    

    <script type="text/javascript"> 
    
        var back = ""; 
        var prevClass = "start" 
        var className = "Broken"; 
    
        start = '<div id="back" class="gohome"></div><div class="link1"></div><div class="link2"></div>'; 
        gohome = '<div class="gohome"></div><div class="start"></div>'; 
        link1 = '<div id="back" class="gohome"></div><div class="link3"></div><div class="link4"></div>'; 
        link2 = '<div class="gohome"></div>'; 
        link3 = '<div id="back" class="gohome"></div><div class="link5"></div><div class="link6"></div>'; 
        link4 = '<div class="gohome"></div><div class="link7"></div><div class="link8"></div>'; 
        link5 = '<div class="gohome"></div><div class="link2a"></div><div class="link10"></div>'; 
        link6 = '<div class="gohome"></div><div class="link7"></div><div class="link11"></div>'; 
        link6a = '<div class="gohome"></div><div class="link7"></div><div class="link11"></div>'; 
        link7 = '<div class="gohome"></div><div class="link6a"></div><div class="link9"></div>'; 
        link8 = '<div class="gohome"></div><div class="link2a"></div><div class="link10"></div>'; 
        link9 = '<div class="gohome"></div><div class="link10a"></div>'; 
        link10 = '<div class="gohome"></div><div class="link12"></div><div class="link13"></div>'; 
        link10a = '<div class="gohome"></div><div class="link12"></div><div class="link13"></div>'; 
        link11 = '<div class="gohome"></div><div class="link10a"></div>'; 
        link12 = '<div class="gohome"></div><div class="link12"></div><div class="link13"></div>'; 
        link13 = '<div class="gohome"></div><div class="link14"></div><div class="link15"></div>'; 
        link14 = '<div class="gohome"></div>'; 
        link15 = '<div class="gohome"></div><div class="link16"></div><div class="link17"></div>'; 
        link16 = '<div class="gohome"></div>'; 
        link17 = '<div class="gohome"></div><div class="link18"></div><div class="link19"></div>'; 
        link18 = '<div class="gohome"></div>'; 
        link19 = '<div class="gohome"></div><div class="link20"></div><div class="link21"></div>'; 
        link20 = '<div class="gohome"></div>'; 
        link21 = '<div class="gohome"></div>'; 
    
    
    
        $(document).on('click', '.inter [class]', function() { 
        className = this.className; 
        $('[id*="back"]').each(function(){ 
         $('.' + prevClass).css({'left': '123px'}); 
         $('.' + prevClass).css({'top': '430px'}); 
         $('.' + prevClass).css({'width': '123px'}); 
         $('.' + prevClass).css({'height': '44px'}); 
        }); 
    
        back = '<div class="' + prevClass + '"></div>'; 
        $('.' + className).html(back); 
        prevClass = className; 
         $('.inter').fadeTo(250, 0.25, function() { 
          $('.inter').html(window[className]); 
    
          $('.inter').css({'background-image': 'url("' + className + '.png")'}); 
          $('.inter').fadeTo(250, 1.00); 
    
         }); 
        }); 
    
    </script> 
    
    +0

    我相信我對你的其他問題發表了評論,但'$(「whatever」)'不是「jQuery變量」。對於你的大部分變量需求,你可以使用常規的JavaScript變量(即''var javascriptVariable = $('。jquerySelector');') –

    回答

    2

    對於問題一,您需要選擇並更新一點智能。由於類名是一個類的名字,你想:

    $('.' + className)

    (像你已經想通了的問題#2)

    如果你想更新內容(背部):

    $('.' + className).html(back);

    對於問題#2,目前尚不清楚你想要做什麼。

    首先,#back已經在DOM中了嗎?這對您的link1變量不起作用。其次,prevClass應該是什麼?

    +0

    我會嘗試澄清。 「$(className)= className + back;」在這種情況下,「$(className)」應該是變量link1。 className應該是link1的內容,後面應該包含後面的內容 所以實際上它的link1 ='

    '+'test'; – sephiith

    +0

    #back當前不在DOM中。我想要做的是創建一個返回按鈕到以前的類。也許我應該觸發沒有任何檢測。任何想法我會怎麼做? – sephiith

    0

    當使用jQuery,你可以方便地選擇ID更容易像這樣很多:

    $('#back') 
    

    我不知道你從*期待您等號之前是什麼?

    +1

    我不知道他真的想要什麼,但是[attr * ='value ']選擇器獲取包含字符串值的attr的所有元素(不需要相等,只是包含)。 –

    0

    是您的className錨定標記?你可以做這樣的事情

    $('.className').attr('href', link1 +'/'+ back); 
    
    0

    問題1:

    $(className) = className + back; 
    

    只需將值link1test給變量$(className)

    e.g:$(className) = "link1test"

    如果「... back包含的內容...」和「...你想的內容分配到任何變量className引用...」,然後你可以使用。

    $('。'+ className).html(back);

    問題2:

    可能是選擇器不正確。您是否嘗試選擇ID爲back的單個元素,然後更改類prevClass的子級的CSS。如果是的話,這應該工作。

    $('#back').each(function(){ 
         $('.' + prevClass).css({'left': '-123px'}); 
         $('.' + prevClass).css({'top': '430px'}); 
         $('.' + prevClass).css({'width': '123px'}); 
         $('.' + prevClass).css({'height': '44px'}); 
        }); 
    
    +0

    它似乎插入後面的內容,但隨後消失。我在我的文章中添加完整的代碼。 – sephiith

    相關問題