noviembre 17, 2020

Algunos parches para temas y plugins no aplican correcciones jQuery que se van amontonando hasta romper por completo el estilo visual o la funcionalidad de algunos sitios web. En este caso desde la 4.5 se avisa al respecto:

Uncaught Error: Syntax error, unrecognized expression: .wpb_column[data-hover-bg^=#]
    at Function.ea.error (jquery.js?ver=1.12.4-wp:2)
    at ea.tokenize (jquery.js?ver=1.12.4-wp:2)
    at ea.select (jquery.js?ver=1.12.4-wp:2)
    at Function.ea [as find] (jquery.js?ver=1.12.4-wp:2)
    at n.fn.init.find (jquery.js?ver=1.12.4-wp:2)
    at new n.fn.init (jquery.js?ver=1.12.4-wp:2)
    at n (jquery.js?ver=1.12.4-wp:2)
    at columnHoverBG (init.js?ver=4.8.1:1348)
    at HTMLDocument.<anonymous> (init.js?ver=4.8.1:1359)
    at i (jquery.js?ver=1.12.4-wp:2)

La función columnHoverBG() en el fichero: «\themes\salient\js\init.js» sin las comillas dobles para #, aunque en la versión 5.3.6 era funcional al actualizar a 5.5.3 deja de funcionar definitivamente. Con añadir las comillas dobles alrededor de la almohadilla volvemos a tener el sitio operativo: data-hover-bg^=«#«

function columnHoverBG() {	
	$('.wpb_column[data-hover-bg^="#"]').each(function(){
		var $originalBG = $(this).css('background-color');
		$(this).hover(function(){
			$(this).stop(true,true).css('background-color',$(this).attr('data-hover-bg'));
		},function(){
			$(this).stop(true,true).css('background-color',$originalBG);
		});
	});
}

Quien no se haya dejado unas comillas, un punto y coma o un paréntesis que tire la primera piedra ;D