I have a huge string like this:
'<i class=""></i>'
I have a variable called icon
. I need to place icon
in between the two quotes. Although it feels simple, I've been struggling to wrap my head around it. Can someone please help? JS newbie here.
I have a huge string like this:
'<i class=""></i>'
I have a variable called icon
. I need to place icon
in between the two quotes. Although it feels simple, I've been struggling to wrap my head around it. Can someone please help? JS newbie here.
-
In
class
's quotes or between<i>
tags? – ClaudiusDan Commented Jul 10, 2018 at 6:00 - Sorry, inside the class, its a font-awesome icon. It'll be something like "fa fa-building" – Di437 Commented Jul 10, 2018 at 6:02
- Answer below will do the job, – ClaudiusDan Commented Jul 10, 2018 at 6:02
-
<i class=""></i>'.replace('""', '"' + icon + '"')
might do the job. – RobG Commented Jul 10, 2018 at 6:16
2 Answers
Reset to default 5The delimiters of your string are '
, so just end the '
, concatenate the icon
, and resume the '
:
const icon = 'myIcon';
const str = '<i class="' + icon + '"></i>';
console.log(str);
But you might find it more readable to use a template literal instead, especially if you're building an HTML string, or if it's multi-line, or if you're having any issues with escape characters: begin and end the string with backticks, and insert variables by putting them inside of ${varNameHere}
:
const icon = 'myIcon';
const icon2 = 'myIcon2';
const icon3 = 'myIcon3';
const str = `
<i class="${icon}"></i>
<i class="${icon2}"></i>
<i class="${icon3}"></i>
`;
console.log(str);
You can split it using .split() function.
const icon = 'Idk'
var str = '<i class = "">';
var strSplit = str.split('"');
var addString = strSplit[0] + '"' + icon + '"' + strSplit[2];
console.log(addString);
The array strSplit contains ['<i class = ','','>']