2015-01-28 7 views
0

모든 .replaceclass 클래스를 다른 것으로 바꾸려면 다음 coldes가 있어야하며 정상적으로 작동합니다.jQuery를 사용하여 향후 모든 요소에 replaceWith()를 수행하는 방법은 무엇입니까?

$('.replaceclass').replaceWith(function() { 
    return 'string to be replaced'; 
}); 

는하지만 또한 그들이이 장전 할 때마다 대체 취득 할, 지금은 첫 번째로드에 generatede되지 않은 일부 .replaceclass 요소를 가지고 있지만, 나중에 아약스로드 할 수 있습니다.

$('.replaceclass').on('load', function(){ 
    $('.replaceclass').replaceWith(function() { 
     return 'string to be replaced'; 
    }); 
}); 

을하지만 그것은 작동하지 않습니다 :

나는 시도했다. 원하는 결과를 얻으려면 어떻게해야합니까? 고마워요!

+1

아약스 전체 콜백 내에서 교체를 시도하십니까? – Resolution

답변

1

Ajax 요청이 성공적으로 완료 될 때마다 실행될 함수를 첨부하는 $.ajaxSuccess을 사용할 수 있습니다.

$(document).ajaxSuccess(function(){ 
    $('.replaceclass').replaceWith(function() { 
     return 'string to be replaced'; 
    }); 
}); 

이것은 글로벌 이벤트이며 성공적인 아약스 작업이있을 때마다 트리거됩니다. 특정 AJAX 호출로 트리거하지 않으려면 해당 옵션에 global: false을 추가하기 만하면됩니다.

0

어떨까요?

$.ajax({ 
    ...... 
}).done(function() { 
    replaceClasses(); 
}); 

function replaceClasses(){ 
    $('.replaceclass').replaceWith(function() { 
    return 'string to be replaced'; 
    }); 
}