2011-05-09 5 views
1

여러 개의 div가 있는데 요소가 포함 된 경우 해당 요소를 선택하려고합니다 (예 :요소가 포함하는 요소를 선택하는 방법이 있습니까?

<div><a href="http://example.com">link</a></div> 
<div>No link</div> 

). 자바 스크립트없이 가능합니까?

또한, 내가 원하는 이유는 reddit 하위 스타일 시트이므로 CSS 만 실제 HTML을 조정할 수 없습니다.

답변

3

자손을 기반으로 조상에 스타일을 적용하려고합니다. 이것은 CSS에서는 불가능합니다.

가장 가까운 것은 직접 자식 선택자입니다. 그러나 이것은 div 안에있는 a에 스타일을 적용 할 수 있습니다.

div > a 

CSS Selectors에 대해 자세히 알아보십시오. 위의 요소를 선택하거나 스타일을 a에 적용하는 다른 방법을 찾아 보시기 바랍니다.

+0

자바 스크립트로 가능합니까? – starbeamrainbowlabs

+1

예. 자바 스크립트에서 DOM의 유연성이 훨씬 뛰어납니다. 조상 선택기의 일종의 코딩은 일단 당신이 논리를 가지고 있으면 직설적이어야합니다. 일단 시작하면 새로운 질문을 올리십시오. –

+0

좋습니다. 문제가 있으면 질문을 올리겠습니다. – starbeamrainbowlabs

-2

먼저 링크 등 같은 사업부 '클래스'와 'ID를'이름을 가지고와 CSS는 다음과 같이 표시됩니다

#divname,a.linkname {property:value;} 

그것이 좋은 답변

+1

내 게시물을 읽었다면 HTML을 변경할 수 없다는 것을 알았을 것입니다. – Andrea

1

당신에게 희망을 부모 요소 내부의 div 요소의 위치에 따라 nth 자식 (N) 선택기를 사용할 수 있습니다. 위 예제에서 a 요소가있는 div 요소는 첫 번째 자식이고 a 요소가없는 다른 div 요소는 두 번째 자식입니다. 이러한 div 요소가 다른 요소의 자식이거나 본문 요소의 자식이면 코드에서 명확하지 않습니다. 경우에 그들은이 두 번째 DIV를 선택합니다 첫 번째 DIV

div:nth-child(2) 

이 선택됩니다

div:nth-child(1) 

으로 본문 요소의 아이들이 당신이 할 수 있습니다.

Offcourse 당신은 nth-child가 그 안에 중첩 된 다른 요소를 가지고 있고 "N"의 값으로 그 위치를 사용하는 대신에 자신을 위해 계산해야합니다. div 요소에 div 요소가없는 경우 사용할 수 있습니다.

div:empty 
+0

실제로 부모가 신체 또는 다른 요소인지는 중요하지 않습니다. 이것은 상관없이 작동합니다. – Jawad

+0

감사. 내가 원한 것은 아니지만 가까운 곳. – Andrea

-1

$('div > a').parent().whateveryouneedtodo()은 어떻습니까?

관련 문제