Estoy usando un código que funciona en todos los navegadores pero no en IE11 o IE10
Cómo puedo arreglarlo
$(`#${formID} textarea:not(.ctype)`).each(function(k) {porque parece que el uso de ` es problemático y a IE no le gusta
Si desea simular literales de plantilla en IE, lo más parecido que puede hacer es formatear una cadena y reemplazar los valores de marcador de posición con un mapa de entrada.
// Custom formatter function function frmt(str, obj) { return Object.entries(obj).reduce(function(acc, [key, val]) { return acc.replace(new RegExp('\\$\\{' + key + '\\}', 'g'), val); }, str); } // jQuery selector const selector = frmt('#${formID} textarea:not(.ctype)', { formID: 'my-form' }); console.log(selector); $(selector).each(function(textarea) { console.log($(this).text()); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="my-form"> <textarea>A</textarea> <textarea>B</textarea> <textarea class="ctype">C</textarea> </form>Si desea que el código sea portátil, puede escribir un complemento jQuery:
// Custom selector plugin (function($) { $.sel = function(selector, repl) { return $(Object.entries(repl).reduce(function(acc, [key, val]) { return acc.replace(new RegExp('\\$\\{' + key + '\\}', 'g'), val); }, selector)); }; })(jQuery); $.sel('#${formID} textarea:not(.ctype)', { formID: 'my-form' }) .each(function(textarea) { console.log($(this).text()); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="my-form"> <textarea>A</textarea> <textarea>B</textarea> <textarea class="ctype">C</textarea> </form>