Je tente de remplacer certains blocs de balises HTML par différents blocs HTML en fonction de la largeur du navigateur. J'ai un modèle de travail - Voir la rubrique: "Plans de santé ACME".Comment utiliser .replaceWith pour réécrire le HTML en fonction de la largeur de la page, sans actualisation?
Actuellement, je suis en utilisant:
$('document').ready(function(){
if (window.matchMedia('(max-width: 767px)').matches) {
var size = $(window).width();
$('h4.title1').replaceWith('<h4 class="panel-title"><a role="button" class="footer-heads" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne" data-href-mobile="#collapseOne" data-href-desktop="https://www.google.com/"><strong>ACME Health Plans</strong></a></h4>');
$('.footer-collapse').addClass('panel-collapse collapse');
$('.footer-heads').addClass('collapsed');
} else {
$('h4.title1').replaceWith('<h4 class="panel-title"><strong>ACME Health Plans</strong></h4>');
$('.footer-collapse').removeClass('panel-collapse collapse');
$('.footer-heads').removeClass('collapsed');
}
});
L'objectif est d'utiliser .replaceWith
pour échanger le HTML, mais pour qu'elle prenne effet que je dois rafraîchir la page. Existe-t-il un moyen de contourner ce problème et/ou existe-t-il un meilleur moyen d'atteindre ce résultat sans avoir besoin d'actualiser la page?
Cela semble être mieux réalisé en utilisant CSS Media Queries: https://www.w3schools.com/cssref/css3_pr_mediaquery.asp, https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries –