2015-01-27 1 views
0

나는 이미지로 DIV 요소를 가지고, 텍스트, 이미지의 jQuery 복제 및 이름 바꾸기 자식 요소는

  • 의 상태로 이미지에 URL 링크 및 링크가이 상태는 옆에 아이콘으로 표시됩니다 이미지
  • 내가 "클릭"(CSTE 연구진를 사용하려면 ... 이벤트는 새로운 상태

이 상태 링크가 사용하는 클래스를 가지고 thebackground의 상태와 반환을 업데이트하는 phpscript를 트리거합니다 csshook : 이미지 ID가 t의 일부임을 의미합니다. 그 클래스 이름 (statusrec41).

jQuery를 사용하여 DIV를 복제합니다.

$clone = $('#divrec41').clone(true).attr('id', '#divrec42'); 

그때

$clone.find('[href]').each(function(){this.href=this.href.replace(/rec41/g, 'rec42')}) 

그런 다음 마지막에 표시 할 새 레코드 ID로 URL을 업데이트

$clone.appendTo('#imageArea'); 
나는 손실 오전 부분에 클래스 이름을 업데이트하는 방법에

새 ID를 에 반영하기 전에 복제 된 요소를 추가하십시오 모든 "rec42"를 "rec42"로 바꿀 수 있다면 좋겠지 만, noooo

+1

을 해당 요소를 쿼리 해보십시오 (예 :'$ ('## divrec42')') – Edward

답변

0

사용 권한을 부여 할 수 있습니까?

$(document).find('.rec41').each(function(){ 
    $(this).removeClass("rec41"); 
    $(this).addClass("rec42"); 
}) 
+0

이 작업은 $ clone.appendTo ('# imageArea') 이후에 가능합니다. – Cheetah

+0

예, DOM에 추가하지 않으면 복제본이 보이지 않으므로 appendTo가 수행 할 수 있습니다. 이게 문제가 되나요? – pyb

+0

맞음, 나는 추가하기 전에 할 수 있었으면 좋겠다. 내 실제 클래스는 "rec41"보다 약간 복잡하며 클래스 이름을 다시 작성할 필요가없는 방법이 있었으면합니다. 나는 addClass/removeClass를 사용하여 끝낼 것입니다 html5 data-js hooks에 대해 많이 읽었지만 확실하지는 않습니다. 그 옵션을 좋아합니다 – Cheetah

1

당신은 한 줄에 그것을 할 수 있습니다 : 당신이 당신의 .attr에서 'divrec42'()를 호출하기 전에 '#'가, 또는 다음 시간을 혼동됩니다 필요가 없습니다

$clone.attr('class', your_classes).appendTo('#imageArea'); 
+0

잘못하지 않으면 않는 한 방법은 없습니다 – Edward