현재 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++