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