截断文本,忽略子节点javascript

截断文本,忽略子节点javascript,javascript,truncate,Javascript,Truncate,我试图截断div中也包含span标记的字符串,但我的脚本正在收集span标记,将其转换为文本并将其推回,如何忽略标记中的子数据 HTML: 如果我理解正确,您不希望因此: 但只有文本 如果是这样,您可以使用: var g = $(this).text(); 片段: $(函数(){ $(“.row title”).each(函数(){ var g=$(this.text().trim(); var x=“…”; var-leng=50; var html=g.substring(0,leng

我试图截断div中也包含span标记的字符串,但我的脚本正在收集span标记,将其转换为文本并将其推回,如何忽略标记中的子数据

HTML:


如果我理解正确,您不希望因此:

但只有文本

如果是这样,您可以使用:

var g = $(this).text();
片段:

$(函数(){
$(“.row title”).each(函数(){
var g=$(this.text().trim();
var x=“…”;
var-leng=50;
var html=g.substring(0,leng)+;
var allHTML=html+x;
$(this).text(所有HTML);
});
});

标题:
这是我要截断的文本

如果我理解正确,您不希望因此:

但只有文本

如果是这样,您可以使用:

var g = $(this).text();
片段:

$(函数(){
$(“.row title”).each(函数(){
var g=$(this.text().trim();
var x=“…”;
var-leng=50;
var html=g.substring(0,leng)+;
var allHTML=html+x;
$(this).text(所有HTML);
});
});

标题:
这是我要截断的文本

只需迭代文本节点:

$(“.row title”)。每个(函数(){
var-leng=25;
[]forEach.call(this.childNodes,函数(child){
如果(child.nodeType==3){//text节点
var txt=child.textContent.trim();
如果(txt.length>leng){
child.textContent=txt.substr(0,leng)+“…”;
}
}
});
});

标题:
这是我要截断的文本

只需迭代文本节点:

$(“.row title”)。每个(函数(){
var-leng=25;
[]forEach.call(this.childNodes,函数(child){
如果(child.nodeType==3){//text节点
var txt=child.textContent.trim();
如果(txt.length>leng){
child.textContent=txt.substr(0,leng)+“…”;
}
}
});
});

标题:
这是我要截断的文本

“这是我要截断的文本”。长度==40
不应被截断,因为您的长度变量是50。@JoseHermosillaRodrigo如果您仔细查看div的内容,您可能会看到新行字符(即:\n)以及其中的隐藏空格。如何处理这些字符?删除它们是必需的?@JoseHermosillaRodrigo我只更新了完整的js代码段以及您可以看到的内容,删除了无用的\n空格,现在字符串不再被截断。但问题依然存在:这是正确的吗?让我知道这个问题不是我提的。但他似乎只是想截断文本
这是我要截断的文本
,你现在也要截断
标题:这是我要截断的文本
,我想他想要的是类似@Oriol-answer的东西。@JoseHermosillaRodrigo对我来说,很高兴收到评论。我喜欢你的评论。你帮助我思考了更多。因此,再次非常感谢
“这是我要截断的文本”。length==40
不应该被截断,因为您的长度变量是50。@JoseHermosillaRodrigo如果您仔细查看div的内容,您可能会看到新行字符(即:\n)以及其中的隐藏空格。如何处理这些字符?删除它们是必需的?@JoseHermosillaRodrigo我只更新了完整的js代码段以及您可以看到的内容,删除了无用的\n空格,现在字符串不再被截断。但问题依然存在:这是正确的吗?让我知道这个问题不是我提的。但他似乎只是想截断文本
这是我要截断的文本
,你现在也要截断
标题:这是我要截断的文本
,我想他想要的是类似@Oriol-answer的东西。@JoseHermosillaRodrigo对我来说,很高兴收到评论。我喜欢你的评论。你帮助我思考了更多。所以,再次非常感谢
var g = $(this).text();