我想在'之前提取所有内容,'逗号。并用相同的名称图像替换它。我如何在javascript或jquery中执行此操作?我试过这个,但没有为第一个和最后一个字符串工作 这是我的代码:
<html>
<head>
<script>
function splitString(stringToSplit, separator) {
var arrayOfStrings = stringToSplit.split(separator);
document.write('<img src="/images/'+ arrayOfStrings.join('.png" /><img src="/images/') + '/>');
}
</script>
</head>
<body>
<div class="slidepop">
<script> splitString(',brickfast,travel insurance,guide,sim cart,tour',',')</script>
</div>
</body>
</html>
答案 0 :(得分:0)
for(var i = 0; i < arrayOfStrings.length; i++){
if(arrayOfStrings[i] !== ''){
document.write('<img src="/images/'+ arrayOfStrings[i].join('.png" /><img src="/images/') + '/>');
}
}
答案 1 :(得分:0)
与@Hemanshi karelia相同的基本前提,但我没有使用document.write,而是建议从图像元素创建一个字符串,然后将所有元素添加到此图像字符串中 - 使用jquery的.html将其添加到div中()。这是有利的,因为它只在最后操作DOM,当所有的图像元素都已构建并传递到图像字符串然后传递给div时,而不是所有其他发布的答案在每次迭代时改变DOM
splitString('brickfast,travel insurance,guide,sim cart,tour');
function splitString(stringTotal) {
var stringPortions = stringTotal.split(",");
var imageString="";
for(i = 0; i < stringPortions.length; i++){
imageString += "<img src='/images/" + stringPortions[i] +".png'/>";
}
$('.slidepop').html(imageString);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slidepop"></div>
答案 2 :(得分:-1)
当您使用split方法时,您将获得一个字符串数组作为回报。但是你直接用html标签加入数组。您可以尝试下面的内容,我在字符串数组的特定索引处加入字符串。
<html>
<head>
<script>
function splitString(stringToSplit, separator) {
var arrayOfStrings = stringToSplit.split(separator);
document.write('<img src="/images/'+ arrayOfStrings[1].join('.png" /><img src="/images/') + '/>');
}
</script>
</head>
<body>
<div class="slidepop">
<script> splitString(',brickfast,travel insurance,guide,sim cart,tour',',')</script>
</div>
</body>
</html>`
如果要显示字符串数组中的所有图像,可以像这样遍历所有数组。
<html>
<head>
<script>
function splitString(stringToSplit, separator) {
var arrayOfStrings = stringToSplit.split(separator);
var imagesHtml = '';
for(var i = 0; i < arrayOfStrings.length; i++){
if(arrayOfStrings[i] !== ''){
imagesHtml = imagesHtml + '<img src="/images/' + arrayOfStrings[i] + '.png" />'
}
}
var newDiv = $("<div></div>");
newDiv.append(imagesHtml);
$(".slidepop").append(newDiv);
}
</script>
</head>
<body>
<div class="slidepop">
<script> splitString(',brickfast,travel insurance,guide,sim cart,tour',',')</script>
</div>
</body>
</html>`