【问题标题】:JS textcontent set as only part of a stringJS textcontent 仅设置为字符串的一部分
【发布时间】:2021-03-16 21:49:21
【问题描述】:

我正在尝试通过 JSON 文件设置元素的文本内容,但需要剪切部分目标字符串。有谁知道如何在 Vanilla Javascipt 中做到这一点? 我还在学习JS,还没有开始使用Jquery。

JSON 数据中的字符串如下所示:

“图像”:“Fashion_Yellow_Beach.jpg”。 (我需要 textContent 为“黄色海滩”), 另一个对象将具有“图像”:“Architecture_On_a_hill.jpg”。 (变成“在山上”)。

任何可以帮助我在网络上查找信息的帮助甚至关键字都是一种解脱!

【问题讨论】:

  • 这里到底有什么问题?无法将Fashion_Yellow_Beach 转换为Yellow Beach,还是设置textcontent 属性有问题?你试过什么?
  • 类似于el.textContent = image.split('.')[0].split('_').slice(1).join(' '); 的内容(保留点之前的部分,用下划线分隔,删除第一个单词,其余部分用空格连接)
  • @counter-integral 问题是将Fashion_Yellow_Beach 转换为Yellow Beach。非常感谢@blex,它成功了!你知道如何调用 .split .slice 和 .join 以便我可以了解更多信息吗?如果您要设置的是答案而不是评论,我会将其标记为解决方案。

标签: javascript json populate


【解决方案1】:

您可以使用splitslicejoin 的组合来实现您想要的。

点击上面的链接了解更多,但基本上:

  • str.split(separator) 将字符串转换为数组,在给定的分隔符上拆分
  • arr.slice(start[, end]) 将提取数组的一部分
  • arr.join(separator) 将数组转换为字符串,并用分隔符连接它

console.log( cleanupFilename("Fashion_Yellow_Beach.jpg") );
console.log( cleanupFilename("Architecture_On_a_hill.jpg") );

function cleanupFilename(str) {
  return str            // "Fashion_Yellow_Beach.jpg"
         .split('.')[0] // "Fashion_Yellow_Beach"
         .split('_')    // ["Fashion", "Yellow", "Beach"]
         .slice(1)      // ["Yellow", "Beach"]
         .join(' ');    // "Yellow Beach"
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多