Как объединить строки с кавычками в другую строку с несколькими кавычками на JS - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь написать JS код, и мне нужно объединить несколько строк с переменными в них, чтобы сформировать гигантскую строку.

var another_class = 'datatables-more';
var color = "#e07c8a";
var NYC = "New York City";
var LA = "Los Angeles";
var url = "/my/app/url2";
var some_url = "/my/app/url";
var row_count = row['available_count'];

data = '<td><div class="' + another_class + 'item-count-div" style="background-color:' + color + '"' + ' data-url="' + url + '"' + ' data-toggle="popover" data-content="" + row_count + '</div></td>'; 

Теперь для атрибута data-content я хочу это значение должно быть:

data-content = "<a href="some_url">NYC</a> <a href="some_url">LA</a>"

some_url, NYC, LA - все переменные. Как я могу достичь этого результата? Мне трудно понять это.

Я пытался сделать это:

data-content="<a href="'+some_url+'">'+NYC+'</a>"' 

Это не сработало и дает мне странный тег ahref.

Ответы [ 3 ]

1 голос
/ 30 апреля 2020

Если вы используете более новую версию, вы можете обратиться к предыдущему ответу, в противном случае вы можете сделать что-то вроде:

Обновление: следующий код работает отлично. Это было html вызывающее проблему.

var another_class = 'datatables-more';
var color = "#e07c8a";
var NYC = "New York City";
var LA = "Los Angeles";
var url = "/my/app/url2";
var some_url = "/my/app/url";
var row_count = row['available_count'];

var dataContent = '<a href=\''+some_url+'\'>'+NYC+'</a> <a href=\''+some_url+'\'>'+LA+'</a>';

var data = '<td> <div class="' + another_class + ' item-count-div" style="background-color:'+ color + ';" data-url="' + url + '" data-toggle="popover" data-content="'+dataContent+'" >' + row_count + '</div></td>';
0 голосов
/ 30 апреля 2020
data = '<td> <div class="' + another_class + 'item-count-div" style="background-color:' 
+ color + ';"' + ' data-url="'+url+'" data-toggle="popover" data-content="<a 
  href="'+url+'">NYC</a>  <a href="'+url+'">LA</a>" >' + row_count + '</div></td>';
0 голосов
/ 30 апреля 2020

Если вы используете более новые версии JS, вы можете использовать строковый литерал шаблона, например:

const data = `<a href="${var1}">${var2}</a>`

Другой подход заключается в использовании массива и функции соединения, например:

const parts = ['<a href="', var1, '">", var2, '</a>'];
const data = parts.join('');
...