2012-11-16 4 views
0

나는 'span'태그가 있고 각 span은 'left'속성을 10 픽셀 씩 증가시켜야합니다.자바 스크립트 또는 JQuery의 CSS 증가

예 : -

CSS: 
span.cell_0  { left: 0px;  } 
span.cell_1  { left: 10px;  } 
span.cell_2  { left: 20px;  } 
HTML: 
<span class="cell_0">name</span> 
<span class="cell_1">#</span> 

내가 자바 스크립트로 작성했습니다 :

$('span').css('left', '+=10px'); 

있지만, 각 스팬

암 설계 레이아웃을 위해 노력하고 있어요; 행과 열. 행에 대한

<div class="row1"> 
<span class="cell_0">name</span> 
<span class="cell_1">#</span> 
</div> 
<div class="row2"> 
<span class="cell_0">name</span> 
<span class="cell_1">#</span> 
</div> 

CSS :

.row1, .row2, .row3, .row4{ 
font-size:12px; 
padding:5px 20px 20px 0; 
} 
+2

그리고 당신은 처음부터 자바 스크립트를 작성하지 않았습니까? – wakooka

+0

'load'에서'hover'에서'click' 할 때 증가시키고 싶습니까? – Boris

+0

@bborisovs 네, 그게 onload입니다 (일종의 디자인 레이아웃입니다) – user1769790

답변

2

내가 어떻게 할 것인지의 당신이 준 것과 함께

$('span.[class^="cell_"]').each(function(i,v){ // loop through each span with class that starts with cell_ 
    var num = +$(v).attr('class').split('_')[1]; // get the number from the class 
    $(v).css('left',(num * 10) + 'px') // use it to get the px 
}); 
+0

감사합니다. 내 필요에 맞게. – user1769790

+0

그가 왜 승인 마크를 옮겼는지 확실하지 않습니다. 너의 필요에 더 맞는 것 같다. –

+0

어 .. 너무 걱정하지 않아.그냥 도와주고 싶어 :) –

4

좋아, 난 당신이 문제의 div의에 클래스를 적용해야 말할 것입니다 :

<div class="indent"> 
    <span class="cell_0">name</span> 
    <span class="cell_1">#</span> 
</div> 
<div class="indent"> 
    <span class="cell_0">name</span> 
    <span class="cell_1">#</span> 
</div> 

$('.indent').each(function(){ 
    $(this).find('span').each(function(i, v){ 
     $(this).css('left', (i * 10) + 'px'); 
    }); 
}); 

그것을 할 수있는 하나의 방법입니다 그. 나는 각 스팬에 할당 된 클래스로 무엇을하고 있는지 알지 못합니다. 그러나 들여 쓰기를 시도하는 경우 스팬에서 클래스를 제거하고 일반 선택기를 사용하여 작업을 수행 할 수 있습니다.

+0

당신은 나보다 빠릅니다. 하지만 네, 그렇게 간단합니다. –

+0

그는 자신의 페이지에 다른 기간이 없다는 가정하에 있습니다. –

+0

당신은 너무 좋았습니다. 나는 그에게 그가 시도했다는 것을 보여 줄 수있는 뭔가를 우리에게주기를 바랍니다. – wakooka

0

jquery/prototype과 같은 프레임 작업을 사용하여 html에서 범위를 선택하고 있습니까? 당신은 그럼 그냥 루프를 document.getElementsByTagName ('기간')를 사용할 수 있으며 (왼쪽) 속성을 증가

+0

예입니다. JQuery가 가장 적합합니다. 덕분에 – user1769790

1

사용 Attribute Starts With Selector 클래스에만 필요 스팬을 선택합니다 :

여기
$(document).ready(function() { 
    $("[class^=cell]'").each(function(i, v){ 
     $(this).css('left', (i * 10) + 'px'); 
    });  
});