var popupContent = '<a href="#tableofresults" class="modal-trigger" onClick="stopno='+feature.properties.busstopcode+'; nuscode="'+feature.properties.nuscode+'";">Click me!</a>';Actualmente estoy usando Leaflet y quiero una ventana emergente con texto en el que se pueda hacer clic, que ejecutará Javascript para definir las variables stopno y nuscode . Sin embargo, en los datos de GeoJSON, feature.properties.nuscode es una cadena y no un número entero y, por lo tanto, necesito usar comillas para definir la variable nuscode .
Sin embargo, si tuviera que usar comillas nuevamente, causaría problemas, ya que estoy usando JS en línea en la propiedad onclick para la etiqueta <a> , y el uso de comillas causa errores de "Final de entrada inesperado". ¿Cómo soluciono esto?
A partir de ES2015, puede usar acentos graves para crear lo que se conoce como literales de plantilla (cadenas de plantilla).
Puede encapsular texto en acentos graves e interpolar JavaScript para que su código sea mucho más ordenado. También ayuda a evitar cualquier uso conflictivo de comillas simples/dobles, y evita tener que escapar ( \ ) de las cadenas.
Se puede leer más sobre esto aquí en MDN
const popupContent = `<a href="#tableofresults" class="modal-trigger" onClick="stopno='${feature.properties.busstopcode}'" nuscode="${feature.properties.nuscode}">Click me!</a>`;