【问题标题】:Trim string after character '?' getElementsByClassName not working在字符“?”之后修剪字符串getElementsByClassName 不起作用
【发布时间】:2017-11-17 08:54:42
【问题描述】:

整理显示在动态填充列表中的 URL;已设法从头开始删除整个域,但现在需要修剪“?”之后的所有字符所有结果。 getElementsByClassName 对我不起作用,我不知道为什么。

CodePen Snippet

使用:

var oldURL = "some?text";
// var oldURL = document.getElementsByClassName("slimBreadcrumb");
oldURL = oldURL.substring(0, oldURL.indexOf("?"));
document.write(oldURL);

和:

var styleBreadcrumb = document.getElementsByClassName("slimBreadcrumb");
  for (var i = 0; i < styleBreadcrumb.length; i++) {
    var str = styleBreadcrumb[i].innerHTML;
    var text = str
      .replace(/http:|https:/, "")
      .replace(/\/\//g, "")
      .replace("www.google.com/", "")
      .replace(/\//g, " > ")
      .replace(/-/g, " ");
    styleBreadcrumb[i].innerHTML = text;
  }

上:

<div>
  <ul>
    <li>
      <a class="slimBreadcrumb" href="http://www.google.com">http://www.google.com/apples/before?after-asdfstrwggs-adf?fadsfad</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">http://www.google.com/apples/oranges/peaches/pears</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">https://www.google.com/apples/oranges/peaches/pears</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">http://www.google.com/apples/oranges/peaches/pears-watermelons-apricots</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">http://www.google.com/apples/before?after-asdfstrwggs-adf?fadsfad</a>
    </li>
  </ul>
    <script type="text/JavaScript">
    </script>
</div>

【问题讨论】:

  • …getElementsByClassName 对我不起作用”以什么方式?你得到什么错误?在您的替换序列中没有正则表达式尝试替换“?”和以下字符。我认为.replace(/\?.*$/,'') 应该关闭。

标签: javascript substring slice getelementsbyclassname


【解决方案1】:

像这样?

var styleBreadcrumb = document.getElementsByClassName("slimBreadcrumb");

for (var i = 0; i < styleBreadcrumb.length; i++) {
  var str = styleBreadcrumb[i].innerText.trim();
  var text = str
    .replace(/http:|https:/, "")
    .replace(/\/\//g, "")
    .replace("www.google.com/", "")
    .replace(/\//g, " > ")
    .replace(/-/g, " ");
  text = text.split('?')[0];
  styleBreadcrumb[i].innerHTML = text;
}
<div>
  <ul>
    <li>
      <a class="slimBreadcrumb" href="http://www.google.com">http://www.google.com/apples/before?after-asdfstrwggs-adf?fadsfad</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">http://www.google.com/apples/oranges/peaches/pears</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">https://www.google.com/apples/oranges/peaches/pears</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">http://www.google.com/apples/oranges/peaches/pears-watermelons-apricots</a>
    </li>
    <li>
      <a class="slimBreadcrumb" href="#">http://www.google.com/apples/before?after-asdfstrwggs-adf?fadsfad</a>
    </li>
  </ul>
</div>

【讨论】:

  • 谢谢你,它工作得很好——我知道我犯了一个布偶错误,只是看不到树木。
猜你喜欢
  • 1970-01-01
  • 2011-06-06
  • 2015-02-16
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多