Javascript 忽略仅空白的数组元素

Javascript 忽略仅空白的数组元素,javascript,jquery,css,arrays,Javascript,Jquery,Css,Arrays,我有许多逗号分隔的字符串,每个字符串都由一个标记列表组成,我想在一个框()中设置每个标记的样式 我将每个逗号分隔的字符串(“p”)转换成一个数组,然后将标记环绕在数组中的每个值上,这样我就可以用CSS对其进行样式化,效果非常好 但是空白字符串也被包装在span标记中,我不想这样,我想忽略它们(或者隐藏它们) 我如何忽略那些只包含空格的“p”的出现?答案和答案对我来说都不起作用 HTML: 只需检查修剪后的文本是否真实。另外,请确保不要隐式创建全局变量,在使用变量之前,始终使用常量(或let或变量

我有许多逗号分隔的字符串,每个字符串都由一个标记列表组成,我想在一个框()中设置每个标记的样式

我将每个逗号分隔的字符串(“p”)转换成一个数组,然后将
标记环绕在数组中的每个值上,这样我就可以用CSS对其进行样式化,效果非常好

但是空白字符串也被包装在span标记中,我不想这样,我想忽略它们(或者隐藏它们)

我如何忽略那些只包含空格的“p”的出现?答案和答案对我来说都不起作用

HTML:


只需检查修剪后的文本是否真实。另外,请确保要隐式创建全局变量,在使用变量之前,始终使用
常量
(或
let
变量
)声明变量,否则将在严格模式下引发错误:

if (words[index].trim()) {
  $(this).append($("<span class = 'tag' > ").text(words[index]));
}

这是一个测试

这个


只需检查修剪后的文本是否真实。另外,请确保要隐式创建全局变量,在使用变量之前,始终使用
常量
(或
let
变量
)声明变量,否则将在严格模式下引发错误:

if (words[index].trim()) {
  $(this).append($("<span class = 'tag' > ").text(words[index]));
}

这是一个测试

这个


您只需将函数应用于相关元素。
在以下示例中,我使用了此条件:

$(this).text().trim().length > 0
$(“p”)
.each(函数({
常量文本=$(this.text().trim();
//此条件将确保“空”p元素不会受到影响
如果(text.length>0){
var words=$(this.text().split(“,”);
var total=单词长度;
$(this.empty();
对于(索引=0;索引
.tag{
背景颜色:浅灰色;
填充:3倍;
保证金:3倍;
边界半径:3px;
}

技能1、技能2、技能3

技能1


您只需将函数应用于相关元素。
在以下示例中,我使用了此条件:

$(this).text().trim().length > 0
$(“p”)
.each(函数({
常量文本=$(this.text().trim();
//此条件将确保“空”p元素不会受到影响
如果(text.length>0){
var words=$(this.text().split(“,”);
var total=单词长度;
$(this.empty();
对于(索引=0;索引
.tag{
背景颜色:浅灰色;
填充:3倍;
保证金:3倍;
边界半径:3px;
}

技能1、技能2、技能3

技能1

功能转换标签{
$(“p”)。每个(函数(){
var text=$(this.text();
如果(!text.replace(//g,,)){
$(this.remove();
返回;
}
var words=text.split(“,”);
var total=单词长度;
$(this.empty();
对于(索引=0;索引
神奇之处在于。每个函数中的前2条语句。在进行拆分之前,我们将检查本段中除空格外是否还有其他内容

如果没有,请删除此段落并开始下一次迭代。

函数转换标签{
$(“p”)。每个(函数(){
var text=$(this.text();
如果(!text.replace(//g,,)){
$(this.remove();
返回;
}
var words=text.split(“,”);
var total=单词长度;
$(this.empty();
对于(索引=0;索引
神奇之处在于。每个函数中的前2条语句。在进行拆分之前,我们将检查本段中除空格外是否还有其他内容

如果没有,请删除此段落并开始下一次迭代

$(this).text().trim().length > 0
function convertToTags(s) {

  $("p").each(function() {
    var text = $(this).text();
    if(!text.replace(/ /g, '')){
        $(this).remove();
        return;
    }
    var words = text.split(", ");
    var total = words.length;
    $(this).empty();
    for (index = 0; index < total; index++) {
      $(this).append($("<span class = 'tag' > ").text(words[index]));
    }
  })


}