2015-02-02 2 views
1

나는 현재 ul에 약 20 li을 가지고 있습니다. 각 li은 다음과 같이 구성되어있다 :JQuery 각 함수를 사용하여 요소 너비를 반환하십시오.

<li class="block"> 
    <a href="#"> 
    <div class="front"> 
     <img src="..." /> 
    </div> 
    <div class="back"> 
    <p>Text</p> 
    </div> 
    </a> 
</li> 
나는, 각 li.block 통과 폭을 발견하고,이 수와 같은 앵커 태그의 폭을 설정하려는

.

IT는 내가 지금 사용하고 기능 만 작동하지 않는된다

$(document).ready(function() { 
    var $currentWidth = $("li.block").width(); 
    $("li.block a").css("width", $currentWidth); 
}); 

.each()를 사용하는 적절한 방법과 내 문제를 해결하기 위해 위의 코드와 유사한 일이 무엇입니까?

답변

1

당신이 this와 관련 블록을 얻을 수 있습니다 :

var width = $(this).width(); 

당신은 그 블록 내부 링크에 그것을 적용 할 수 있습니다

$(this).children('a').css("width", $currentWidth); 

물론, 귀하가 html은 항상 그런 것만은 아니 었습니다.

$("li.block").each(funtion() { 
    var width = $(this).width(); 
    $(this).children('a').css("width", $currentWidth); 
}); 
0

방법에 대해 :

$('#your-ul').find('li.block').each(function(){ 
    // inside here, 'this' refers to to a specific 'li.block' element 
    $(this).find('a').width($(this).width()); 
}); 

나는이 이미 같은 폭하지 않은 이유에 대해 조금 의심스러운 생각하지만

. 그 함수 내부의 모든 블록을 사용

$("li.block").each(function() {//stuff}); 

를 순환

+0

내가 영업 이익은 블록으로 표시 목록의 요소가 있음을 추측하고있어, 전체 일에게 링크를 만들려고 :

그래서 모두 함께 넣어, 당신은 이런 식으로 뭔가를 할 것이다. 이 경우 앵커 태그를 리 주위에 두는 것이 – frajk

관련 문제