Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何连接两个数组的值以及它们之间的一些html代码?_Javascript_Jquery_Html_Arrays - Fatal编程技术网

Javascript 如何连接两个数组的值以及它们之间的一些html代码?

Javascript 如何连接两个数组的值以及它们之间的一些html代码?,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我有两个阵列: var numbers = ['one', 'two', 'three']; var colors = ['blue', 'red', 'white']; 现在我想要这个输出: $('.classname').html("<span id = 'one'>blue</span><span id = 'two'>red</span><span id = 'three'>white</span>"); 尝

我有两个阵列:

var numbers = ['one',  'two', 'three'];
var colors  = ['blue', 'red', 'white'];
现在我想要这个输出:

$('.classname').html("<span id = 'one'>blue</span><span id = 'two'>red</span><span id = 'three'>white</span>");

尝试通过迭代数组来构建HTML:

var numbers = ['one',  'two', 'three'];
var colors  = ['blue', 'red', 'white'];
var resultHTML = '';
for(var i = 0; i < numbers.length; i++){
  resultHTML += '<span id = "'+ numbers[i] + '">' + colors[i] + '</span>'
}

$('.classname').html(resultHTML);
var number=['1','2','3'];
var colors=['蓝色'、'红色'、'白色'];
var resultHTML='';
对于(变量i=0;i
尝试通过迭代数组来构建HTML:

var numbers = ['one',  'two', 'three'];
var colors  = ['blue', 'red', 'white'];
var resultHTML = '';
for(var i = 0; i < numbers.length; i++){
  resultHTML += '<span id = "'+ numbers[i] + '">' + colors[i] + '</span>'
}

$('.classname').html(resultHTML);
var number=['1','2','3'];
var colors=['蓝色'、'红色'、'白色'];
var resultHTML='';
对于(变量i=0;i
如果要避免HTML注入,请不要这样连接字符串。请改用DOM方法:

var number=['1'、'2'、'3'],
颜色=[“红色”、“绿色”、“蓝色”],
target=document.querySelector('.classname');
target.innerHTML='';//删除以前的内容
forEach(函数(id,i){
var el=document.createElement('span');
el.id=id;
el.textContent=颜色[i];
目标儿童(el);
});
#一{颜色:红色}
#两个{颜色:绿色}
#三个{颜色:蓝色}

如果要避免HTML注入,请不要这样连接字符串。请改用DOM方法:

var number=['1'、'2'、'3'],
颜色=[“红色”、“绿色”、“蓝色”],
target=document.querySelector('.classname');
target.innerHTML='';//删除以前的内容
forEach(函数(id,i){
var el=document.createElement('span');
el.id=id;
el.textContent=颜色[i];
目标儿童(el);
});
#一{颜色:红色}
#两个{颜色:绿色}
#三个{颜色:蓝色}

假设
颜色
数字
长度相同,一行

numbers.map(function(elm,index){
  return '<span id='+elm+'>'+colors[index]+'</span>'
}).join();

假设
颜色
数字
长度相同,则为一行

numbers.map(function(elm,index){
  return '<span id='+elm+'>'+colors[index]+'</span>'
}).join();

最好使用一个对象来建立两个数组之间的关系,例如:

var colors = {one: 'blue', two: 'red', three: 'white'}
然后可以循环对象并将跨距附加到元素:

$.each(colors, function(index,value){
    $('.classname').append("<span id="+index+">"+value+"</span>");
})
$。每个(颜色、函数(索引、值){
$('.classname')。追加(“+value+”);
})
希望这有帮助


var colors={1:'blue',2:'red',3:'white'}
$.each(颜色、功能(索引、值){
$('.classname')。追加(“+value+”);
})

最好使用一个对象来建立两个数组之间的关系,例如:

var colors = {one: 'blue', two: 'red', three: 'white'}
然后可以循环对象并将跨距附加到元素:

$.each(colors, function(index,value){
    $('.classname').append("<span id="+index+">"+value+"</span>");
})
$。每个(颜色、函数(索引、值){
$('.classname')。追加(“+value+”);
})
希望这有帮助


var colors={1:'blue',2:'red',3:'white'}
$.each(颜色、功能(索引、值){
$('.classname')。追加(“+value+”);
})

这就是您需要的:

var numbers = ['one',  'two', 'three'];
var colors  = ['blue', 'red', 'white'];

$.each(numbers, function(k, number) {
  $('.classname').append("<span id='"+ number +"'>"+ colors[k] +"</span>");
});
var number=['1','2','3'];
var colors=['蓝色'、'红色'、'白色'];
$.each(数字,函数(k,数字){
$('.classname')。追加(“+colors[k]+”);
});
这就是您需要的:

var numbers = ['one',  'two', 'three'];
var colors  = ['blue', 'red', 'white'];

$.each(numbers, function(k, number) {
  $('.classname').append("<span id='"+ number +"'>"+ colors[k] +"</span>");
});
var number=['1','2','3'];
var colors=['蓝色'、'红色'、'白色'];
$.each(数字,函数(k,数字){
$('.classname')。追加(“+colors[k]+”);
});


如果你想在两个数组之间建立连接,最好将它们设置为对象,或者设置一个MapI,因为我来晚了一点,但是这里有一个jQuery的方法->@adeneo你知道像
appendChild()
这样的函数吗?但是不知道append,我想要替换,比如
html()
?那么为什么不直接使用
html()
,这是为数不多的用于替换内容的jQuery方法之一。如果您想在两个数组之间建立连接,最好将它们设置为对象,或者设置一个MapI,因为我参加聚会的时间有点晚,但是jQuery的方法是->@adeneo您知道像
appendChild()
这样的函数吗
?那么为什么不直接使用
html()
,它是为数不多的替代内容的jQuery方法之一。只要其中一个数组的长度不同,它就会fail@mmm这个问题相当复杂different@mmm在大多数情况下,数组的长度是相同的,但是如果不是,如何保证安全呢?@mmm问题的本质意味着数组应该是相同的长度。一旦其中一个数组的长度不同,它就会fail@mmm这个问题相当复杂different@mmm在大多数情况下,数组的长度是相同的,但是如果它们不是,如何保证它的安全呢?@mmm问题的本质意味着数组应该是相同的长度。不过,对象没有顺序。由于OP使用数组,我想顺序很重要。@Oriol OP不引用顺序。但我使用了
one
two
。。表明订货对我来说很重要。。对不起,如果我没有直截了当地提到它..好的@stack那是因为。。你应该在OP中提到这些信息。@ZakariaAcharki不要责怪OP…很明显html输出匹配数组orderObjects没有顺序。由于OP使用数组,我想顺序很重要。@Oriol OP不引用顺序。但我使用了
one
two
。。表明订货对我来说很重要。。对不起,如果我没有直截了当地提到它..好的@stack那是因为。。你应该在OP中提到这些信息。@ZakariaAcharki不要责怪OP…很明显html输出匹配数组顺序出于好奇,这到底是如何“避免html注入”的?这有一个小问题。。。我在这个问题上的方法是使用
.html
,但你的方法总是附加,我不想这样,我想用当前的html替换新的html..出于好奇,这到底是如何“避免html注入”?这有一个小问题。。。我在这个问题上的方法是使用
.html
,但是你的方法总是附加,我不想这样,我想用当前的html替换新的html..我不想要
.appen