簡體   English   中英

使用javascript更改html元素的href

[英]Change html element's href using javascript

細節:

嗨,專家們。 我想僅使用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

第二個控制台日志結果:無結果

該代碼在這里工作正常。 您的腳本在加載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> 

似乎您在加載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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM