使用javascript

时间:2019-02-22 04:01:54

标签: javascript html

详细信息:

嗨,专家们。我想仅使用javascript更改现有的HTML主题,并且在使用javascript更改HTML元素的href时遇到问题。但似乎我什至无法通过ClassName来获取元素,因为下面的javascript代码的console.log值显示为0长度。请帮助我如何修复代码。 (请注意,我无法编辑现有的HTML代码,只能编写JavaScript的自定义代码)。最好的问候

我的JavaScript如下:

var x8 = document.getElementsByClassName("slrofrpg-srvcs-backbtn");
console.log("length=",x8.length); --1st console
if (x8.length > 0){
console.log("ENTERED. length=", x8.length); --2nd console
x8[0].href = "javascript:history.back()";
}

我的HTML如下(部分内容):

                <div class="slrofrpg-service-btn">
                  <a class="slrofrpg-srvcs-backbtn" href="javascript:void(0);">Back
                  </a>
                  <!-- react-text: 219 --> 
                  <!-- /react-text -->
                  <a class="slrofrpg-srvcs-offerbtn" href="javascript:void(0);">Send now
                  </a>
                </div>

第一个控制台日志结果:

length=0

第二个控制台日志结果:无结果

2 个答案:

答案 0 :(得分:1)

代码在这里工作正常。您的脚本在加载html之前运行。您可以

  1. <script>标签移到<body>的末尾
  2. 或者使用window.onload事件

window.onload = function(){
  var x8 = document.getElementsByClassName("slrofrpg-srvcs-backbtn");
  console.log("length=",x8.length);
  if (x8.length > 0){
    console.log("ENTERED. length=", x8.length);
    x8[0].href = "javascript:history.back()";  
  }
}
<div class="slrofrpg-service-btn">
                  <a class="slrofrpg-srvcs-backbtn" href="javascript:void(0);">Back
                  </a>
                  <!-- react-text: 219 --> 
                  <!-- /react-text -->
                  <a class="slrofrpg-srvcs-offerbtn" href="javascript:void(0);">Send now
                  </a>
                </div>

答案 1 :(得分:0)

似乎您在加载dom之前正在运行javascript。在body标签的结尾附近添加javascript或添加外部js文件

<body>
   // html code
 <script>
   //js code here
 </script>
</body>

var x8 = document.getElementsByClassName("slrofrpg-srvcs-backbtn");
console.log("length=", x8.length);

if (x8.length > 0) {
  console.log("ENTERED. length=", x8.length);

  x8[0].href = "javascript:history.back()";
}
<div class="slrofrpg-service-btn">
  <a class="slrofrpg-srvcs-backbtn" href="javascript:void(0);">Back
                  </a>
  <!-- react-text: 219 -->
  <!-- /react-text -->
  <a class="slrofrpg-srvcs-offerbtn" href="javascript:void(0);">Send now
                  </a>
</div>