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

    문제 1 : 세 가지 변수가 있습니다. className은 문자열을 참조합니다. 뒤로 콘텐츠가 포함되어 있고 링크에 html 문자열이 있습니다. className이 참조하는 변수에 내용을 할당하려고합니다. 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

    나는이 질문에 대한 귀하의 다른 질문에 대한 의견을 제시했지만 '$ ("무엇이든")은 "jQuery 변수"가 아닙니다. 변수의 대부분의 경우, 일반적인 JavaScript 변수를 사용할 수 있습니다 (예 :'var javascriptVariable = $ ('. jquerySelector');)) –

    답변

    2

    문제 1에 대해서는 조금 더 똑똑하게 선택하고 업데이트해야합니다. 클래스 이름은 클래스 이름이기 때문에, 당신이 원하는 :

    $('.' + className)

    (당신은 문제 # 2에 대해 알아 낸 것처럼)

    당신은 (다시)와 함께 컨텐츠 업데이트하려면 :

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

    문제 2에 대해서는 사용자가하려는 작업이 명확하지 않습니다.

    먼저 DOM에 #back이 있습니까? 이것은 link1 변수에 대해 작동하지 않습니다. 둘째로, 이전의 클래스는 무엇입니까?

    +0

    나는 분명히하려고 노력할 것이다. "$ (className) = className + back;" 이 경우 "$ (className)"이 link1 변수 여야합니다. className은 link1 콘텐츠 여야하며 뒤쪽에는 의 내용이 포함되어야합니다. 실제로 link1 = '

    '+ 'test'; – sephiith

    +0

    #back은 현재 DOM에 없습니다. 내가 뭘하려고하는지 이전 클래스에 다시 버튼을 만드는 것입니다. 어쩌면 나는 어떤 탐지도없이 방아쇠를 당길지도 모른다. 내가 어떻게 그걸 할 수 있을지 알았어? – sephiith

    0

    jQuery를 사용하면 쉽게 선택 ID 그렇게 같이 많게 쉽게 할 수 있습니다 : 당신이 당신의 등호 전에 * 기대 모르겠어요

    $('#back') 
    

    ?

    +1

    나는 그가 정말로 원하는 것이 무엇인지 모르지만 [attr * = 'value '] selector는 문자열 값을 포함하는 attr을 가진 모든 원소들을 얻는다. (같을 필요는 없지만 단지 포함한다.) –

    0

    className은 (는) 앵커 태그입니까? 그냥 변수 $(className)에 값 link1test을 할당

    $(className) = className + back; 
    

    :이

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

    문제 1처럼 뭔가를 할 수 있습니다.

    예컨대 : $(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

    관련 문제