[jquery] jQuery-클래스 대신 ID 추가

현재 jQuery를 사용하고 있습니다 .

$(function() {
    $('span .breadcrumb').each(function(){
        $('#nav').addClass($(this).text());
        $('#container').addClass($(this).text());
        $('.stretch_footer').addClass($(this).text())
        $('#footer').addClass($(this).text());
    });
});

탐색 경로에있는 텍스트를 페이지의 4 개 요소에 적용하여 페이지에 특별히 스타일을 적용 할 수 있습니다.

클래스 대신 ID를 추가하고 싶습니다. 어떻게하면 되나요?



답변

이 시도:

$('element').attr('id', 'value');

그래서 그것은됩니다;

$(function() {
    $('span .breadcrumb').each(function(){
        $('#nav').attr('id', $(this).text());
        $('#container').attr('id', $(this).text());
        $('.stretch_footer').attr('id', $(this).text())
        $('#footer').attr('id', $(this).text());
    });
});

따라서 세 요소의 ID를 변경 / 덮어 쓰고 하나의 요소에 ID를 추가합니다. 필요에 따라 수정할 수 있습니다.


답변

이것은 요소에 이미있는 모든 ID를 덮어 씁니다.

 $(".element").attr("id","SomeID");

addClass존재 하는 이유 는 요소가 여러 클래스를 가질 수 있으므로 이미 설정된 클래스를 반드시 덮어 쓰고 싶지 않기 때문입니다. 그러나 대부분의 속성에는 주어진 시간에 하나의 값만 허용됩니다.


답변

$('selector').attr( 'id', 'yourId' );


답변

대체하지 않고 ‘ID에 추가’하려는 경우

먼저 현재 ID를 캡처 한 다음 새 ID를 추가하십시오. 양식에 입력 상태를 사용하는 트위터 부트 스트랩에 특히 유용합니다.

    new_id = '{{old_id}} inputSuccess';
    old_id = that.attr('id');
    that.attr('id', new_id.replace( /{{old_id}}/ig,old_id));

그렇지 않으면 이전에 설정 한 속성이 손실됩니다.

hth,


답변

나는 coffeescript에서 이것을하고있다.

booking_module_time_clock_convert_id = () ->
  if $('.booking_module_time_clock').length
    idnumber = 1
    for a in $('.booking_module_time_clock')
      elementID = $(a).attr("id")
      $(a).attr( 'id', "#{elementID}_#{idnumber}" )
      idnumber++


답변