0

我正在尝试编辑 YouTube 频道页面上的一些文本,并且我想减少订阅者数量中的订阅者部分。(例如 256 个订阅者 ----> 256)。我是编程的菜鸟(尤其是 JS),还没有找到任何适合我想要的答案。我有一个小的 HTML 元素,我想用 JavaScript 编辑它以修剪订阅者部分而不触及数字。<yt-formatted-string id="subscriber-count" class="style-scope ytd-c4-tabbed-header-renderer" aria-label="2.24 million subscribers">2.24M subscribers</yt-formatted-string> 我已经尝试过了:var get=document.getElementById('test'); var str=get.innerHTML; document.write(str.replace("Rindan's","TestNAme")); 但它反而删除了整个页面,并在没有订阅者字符串的情况下留下了号码,所以半成功。谁能帮我让它可靠地工作?抱歉,奇怪的格式,stackoverflow 的文本编辑器不是很好。

4

3 回答 3

0

检查此代码。它将用空字符串替换订阅者单词。然后用新字符串更新 innerHTML。

document.write()将写入整个文档并替换整页。

var elem=document.getElementById('subscriber-count'); 
var str=elem.innerHTML; 
elem.innerHTML = str.replace("subscribers","");
<yt-formatted-string id="subscriber-count" class="style-scope ytd-c4-tabbed-header-renderer" aria-label="2.24 million subscribers">2.24M subscribers</yt-formatted-string>

于 2021-07-02T18:03:26.227 回答
0

如果我对您的理解正确,您正在寻找一种“256 个订阅者”的方法,并留下 256 个数字格式。

您可以使用正则表达式将任何不是数字的内容替换为空字符串,然后使用 parseInt 进行转换,如下所示:

const str = "256 subscribers";
const numberStr = str.replace(/[^0-9]/g, "");
const number = parseInt(numberStr);
console.log(number); // 256
于 2021-07-02T18:03:51.887 回答
0

您可以只设置元素的 innerHtml 而无需编写document.

  var get=document.getElementById('subscriber-count'); 
  var str=get.innerHTML; 
  get.innerHTML = str.replaceAll("subscribers","");

像这样的东西https://codepen.io/mikhail-vnukov/pen/QWvbeeW

于 2021-07-02T18:13:16.103 回答