【问题标题】:Get specific text from string javascript [duplicate]从字符串javascript中获取特定文本[重复]
【发布时间】:2021-02-15 11:56:14
【问题描述】:
<h2 class="post-title"> ==$0
    "Title of the post" 
    <span class="post-date">1 jan 2000</span>  
    <span class="post-tag">Tag</span>
</h2>

我想要的只是帖子标题“帖子标题

Title = document.getElementsByClassName("post-title");
Title[0].innerText

我得到的是“帖子的标题2000 年 1 月 1 日标签

【问题讨论】:

  • 是 `==$0` 部分的错字还是真的在 &lt;h2&gt; 元素中?
  • @caramba 这是您在选择元素时在 Chrome 开发工具中看到的内容。它告诉您可以在控制台中使用变量 $0 来引用该元素。

标签: javascript


【解决方案1】:

你可以使用正则表达式

var element = document.querySelector('.post-title');
var regexMatches = element.textContent.match(/"(.*)"/);

console.log('with quotes: ' + regexMatches[0]);
console.log('without quotes: ' + regexMatches[1]);
<h2 class="post-title"> ==$0
    "Title of the post" 
    <span class="post-date">1 jan 2000</span>  
    <span class="post-tag">Tag</span>
</h2>

【讨论】:

  • 引号可能不在实际文本中。这就是 DevTools 显示文本节点的方式。
  • @Barmar 再次感谢,我已经更新了答案
  • HTML 中仍有引号和==$0。这些不在 HTML 中,它们只是在 DevTools 的 Elements 面板中。
  • 这将适用于您的 HTML,但我认为它不适用于真实的东西。
  • @Barmar 感谢所有的投入!我从未在我的开发工具中见过==$0。无论哪种方式,正则表达式都可以使用和不使用该部分。为什么你这么肯定你可以说“它不会在真实的东西上起作用”?我真的很想知道,我的意思是,这个问题没有提供更多信息,还是我忽略了什么?
猜你喜欢
  • 2015-01-02
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-03
  • 2018-12-23
相关资源
最近更新 更多