2015-01-25 6 views
-1

복제 된 개체가 있습니다.ID를 검색하고 바꿔 고유 ID를 만듭니다. id 문자열 바꾸기

이 복제 개체에는 ID가 인 여러 요소가 있으며 접두사를 추가하여 고유 한 ID를 만들 수 있으며 정상적으로 작동합니다.

이제 대신 접두사를 추가하면 내가 찾아 ID의

$clone.find('[id]').each(function(){this.id='BAH'+this.id}); 

내가해야합니까 어떻게 ID에 문자열을 기존 "BOO"여기서 대체

에있는 기존 접두사/문자열을 교체하고 싶었 말할 수 오프

이와 비슷한?

$clone.find('[id]').each(function(){this.id.replace(/BOO/g, 'BAH')}); 

클래스 이름은 무엇입니까? 클래스 이름의 일부를 대체

$clone.find('[class]').each(function(){this.class=this.class.replace(/BOO/g, 'BAH')}); 
+0

당신의 편집이 다소 질문을 변경, 당신은 그런 당신 '변경 클래스에 필요한 경우, 정직하게 그것을 잘못하고있다. – Alnitak

+0

클래스를 변경하는 위의 방법이 잘못되었다는 것을 알고 있습니다. 복제 객체 안에는 클래스가있는 다른 두 개의 요소가 있습니다. 그냥이 두 클래스에서 접두어를 바꿀 수있는 적절한 방법을 찾아내는 중입니다. removeClass ('BOOset1'). addClass ('BAHset1') – Cheetah

+0

그건 내 주장이 아닙니다. 당신이 제안하는 것은 수업 남용과 같은 소리입니다. 이와 같은 순차적 인 클래스를 사용해야하는 제 경험으로는 가난한 디자인을 나타냅니다. – Alnitak

답변

1

당신은 단순히 .attr()의 jQuery 방법을 사용할 수 있습니다

$clone.find('[id]').attr('id', function (_, id) { 
    return id.replace(/BOO/g, 'BAH'); 
}); 
관련 문제