jQuery实现子元素.text()间插入换行符或指定字符的方法
HTML表格转CSV:处理TD内多元素文本分隔问题
你提到的用
each()迭代元素拼接文本的思路是可行的,这里给你修正并完善这个写法:let result = ""; $(element).find("*:not(:has(*)):visible").each(function() { result += $(this).text() + "\n"; }); // 移除末尾多余的换行符 result = result.trim();注意修正了原代码的语法问题:
$(element).("选择器")需改为$(element).find("选择器"),换行符要用转义格式"\n",同时补充了闭合括号。还有更简洁的实现方式,用
map()结合join(),无需手动拼接字符串:const result = $(element).find("*:not(:has(*)):visible") .map(function() { return $(this).text(); }) .get() .join("\n"); // 可替换为任意你需要的分隔符,比如", "、"|"等原理是
map()提取每个匹配元素的文本组成jQuery对象数组,get()将其转为普通数组,最后join()用指定字符连接数组元素,自动避免末尾出现多余分隔符。
这两种方法都能解决多元素文本无间隔拼接的问题,若适配CSV格式,只需把join()里的"\n"换成", "即可。
内容的提问来源于stack exchange,提问作者Ryan Griggs
相关产品推荐
相关产品推荐

