如何在JS上将带引号的字符串连接成另一个带多个引号的字符串?

问题描述 投票:0回答:2

我想写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 标签。

javascript string concatenation
2个回答
1
投票

如果你用的是新版的,可以参考前面的回答,否则你可以这样做。

更新 下面的代码可以完美地工作。是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
投票
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
投票

如果你使用的是新版本的JS,你可以使用一个字符串模板文字,像这样。

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

另一种方法是使用数组和连接函数,像这样:

const parts = ['<a href="', var1, '">", var2, '</a>'];
const data = parts.join('');
© www.soinside.com 2019 - 2024. All rights reserved.