Używam aktualnego jQuery :
$(function() {
$('span .breadcrumb').each(function(){
$('#nav').addClass($(this).text());
$('#container').addClass($(this).text());
$('.stretch_footer').addClass($(this).text())
$('#footer').addClass($(this).text());
});
});
Stosuje tekst znajdujący się w menu nawigacyjnym do 4 elementów na stronie, dzięki czemu mogę dostosować styl do strony, na której się znajduje.
Chciałbym spróbować dodać identyfikator zamiast klasy, jak mogę to osiągnąć?
Odpowiedzi:
Spróbuj tego:
$('element').attr('id', 'value');
Tak się stało;
$(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()); }); });
Więc zmieniasz / nadpisujesz id trzech elementów i dodajesz id do jednego elementu. Możesz modyfikować według potrzeb ...
źródło
$('#nav, #container, .stretch_footer, #footer').attr('id', $(this).text());
.. nie, że użycie identyfikatora jest tutaj dobrym pomysłem.$('#nav, #container, .stretch_footer, #footer').attr('id', $('span .breadcrumb:first').text())
(lublast
dla.stretch_footer
). W każdym razie to dziwne.Pamiętaj, że spowoduje to nadpisanie dowolnego identyfikatora, który już ma element:
$(".element").attr("id","SomeID");
Powodem, dla którego
addClass
istnieje, jest to, że element może mieć wiele klas, więc nie chcesz koniecznie nadpisywać już ustawionych klas. Jednak w przypadku większości atrybutów w danym momencie dozwolona jest tylko jedna wartość.źródło
$('selector').attr( 'id', 'yourId' );
źródło
jeśli chcesz „dodać do identyfikatora” zamiast go zastępować
przechwyć najpierw bieżący identyfikator, a następnie dołącz nowy identyfikator. szczególnie przydatne w przypadku ładowania początkowego Twittera, który używa stanów wejściowych w swoich formularzach.
new_id = '{{old_id}} inputSuccess'; old_id = that.attr('id'); that.attr('id', new_id.replace( /{{old_id}}/ig,old_id));
jeśli tego nie zrobisz - utracisz wszystkie właściwości z poprzedniego zestawu.
hth,
źródło
Robię to w skrypcie kawowym
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++
źródło