기본적으로 15 개가 넘는 포트폴리오 사이트를 가지고 있습니다. 모든 CSS 마크 업을 수동으로 수행하지 않고 미리보기 div의 배경을 설정하기 위해 현재 조각을 보여주기 위해 (예 : min을 슬라이드) "이름"선택기를 사용할 수 있기를 원합니다. 설명하기가 혼란 스러울 수도 있습니다. 작동하지 않는 코드가 도움이 될 수도 있습니다. "allieslink"클래스는 CSS에서 이것을 가지고 지금 현재로jQuery를 사용하여 "name"을 기반으로 div의 배경 이미지를 설정하십시오.
<a name="allies" class="portbox port-link allieslink">
<div class="port-info">
<h3>Creative Allies</h3>
<p class="port-label">Product</p>
<p class="port-detail">Print Design</p>
<p class="port-label">Year</p>
<p class="port-detail">2010</p>
</div>
</a>
:
다음은 실제 썸네일 HTML의
.allieslink {
background: url(IMG/portfolio/allies-link.jpg) center top no-repeat;
}
그래서 내가하고 싶은 것을 꺼내입니다 수동 CSS - "이름"설정을 기반으로 jQuery를 계산 한 다음 CSS와 동일한 이름 선택기 ("-link.jpg"가 추가됨)를 연결하십시오. 분명히
var artname= $(".port-link").name;
$(".port-link").css("background","url(IMG/portfolio/" + artname + "-link.jpg) center top no-repeat;");
이 작동하지 않습니다 :
여기 (문서 준비 함수 내에서) 내 현재 jQuery 코드입니다. 나는 내가 올바른 길을 가고 있다고 느낄 때 왜 그곳에 무언가 바보가 될지 확실하지 않습니다. 정확한 jQuery를 찾아서 올바르게 작동 시키려고합니다. 도움?
는 (지금 현재, 모든 요소에 대한 CSS에서 클래스를 가지고 있지만, 당신은 포트폴리오가 성장함에 따라,이 상당히 길어질 것이라고 상상할 수 있습니다.)
'var에 artname = $ (". 포트 링크").attr ('name')' – Ohgodwhy
약 5 개의 답변을 얻게 될 것이고, 대부분은 같을 것입니다.)))하지만 실제로는 오해입니다. DOM 객체가 jQuery로 래핑 될 때 그 속성 (id, name)은'attributes'에도 래핑됩니다. 따라서 기본 DOM 요소 ('.get (0)')를 사용하거나'.attr()'메서드를 사용하여 작업하십시오. – raina77ow
Btw, 나는 뭔가를 놓쳤습니까? 실제로 블록 요소를'a'로 감싸는 것이 좋습니다. – raina77ow