gpt4 book ai didi

javascript - 如果 td 有任何文本,则附加逗号 (,) 加 html,否则仅附加 html

转载 作者:行者123 更新时间:2023-12-03 11:20:59 24 4
gpt4 key购买 nike

我正在处理一些 jQuery 代码,但我有一些疑问。这是我到目前为止所拥有的:

var html = '';
data.entities.forEach(function (value, index, array) {
html += index !== data.entities.length-1 ? value.pais + ', ' : value.pais;
});

var rowUpdate = $('#distribuidorBody').find('#td-' + data.idToUpdate);
rowUpdate.text() !== "" ? html += ', ' + html : html;
rowUpdate.append(html);

伟大的想法:我可以多次执行相同的代码,所以第一次 rowUpdate没有任何值,所以 text()为空,我将得到一些 HTML 输出,例如:Country1, Country2, Country3依此类推rowUpdate.text()应该是Country1, Country2, Country3 。因此,如果我第二次运行相同的代码并添加 Country4, Country5然后rowUpdate.text()应该是Country1, Country2, Country3, Country4, Country5 。我的代码对吗?如果没有任何帮助?我没有收到错误,但我需要了解我所做的事情是对还是错。我也想知道这段代码的作用:

rowUpdate.text() !== "" ?: html += ', ' + html;

这不是我的,我在它周围看到它,但不知道它是做什么的。

最佳答案

forEach 的替代方案可以是 map

var text = data.entities.map(function(v){ return v.pais }).join(', ');

减少:

var text = data.entities.reduce(function(a, b){ return {pais: a.pais +', '+ b.pais}}).pais;

对于三元运算符,您需要两个表达式: condition ? expr1 : expr2 MDN

var rowUpdate = $('#distribuidorBody').find('#td-' + data.idToUpdate);
text = (rowUpdate.text() !== "") ? ', ' + text : text;
// alternative with if
// if(rowUpdate.text() !== "") text = ', ' + text ;
rowUpdate.append(text);
<小时/>

更新:在每个值上添加span

var text = data.entities.map(function(v){ return '<span class="countryToDelete">' + v.pais + '</span>'  }).join(', ');

关于javascript - 如果 td 有任何文本,则附加逗号 (,) 加 html,否则仅附加 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27112860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com