Javascript Can';t设置跨度';锚内的内容

Javascript Can';t设置跨度';锚内的内容,javascript,html,dom,innerhtml,Javascript,Html,Dom,Innerhtml,我有这个领域 <input type="text" name="amount" id="amount" value="20.00"> 我有这个链接 <a target='_blank' href="https://PayPal.me/MyAccount/<span id='myspan'>0.00</span>">click here</a> 当我尝试将金额值($20.00)插入myspan时,出现以下错误: “未捕获类型错

我有这个领域

<input type="text" name="amount" id="amount" value="20.00">

我有这个链接

<a target='_blank' href="https://PayPal.me/MyAccount/<span id='myspan'>0.00</span>">click here</a>

当我尝试将金额值($20.00)插入myspan时,出现以下错误: “未捕获类型错误:无法将属性'innerHTML'设置为null”

我正在使用文件底部的Javascript

    <script type ="text/javascript">
    window.addEventListener('load', function () {
      myFunction();
    })

    function myFunction() {
     var thisamount = document.getElementById("cart_total").value;
     alert(thisamount);
     document.getElementById("myspan").innerHTML = thisamount;
    }
    </script>           

window.addEventListener('load',函数(){
myFunction();
})
函数myFunction(){
var thisamount=document.getElementById(“购物车总计”).value;
警报(该金额);
document.getElementById(“myspan”).innerHTML=此金额;
}

我到底做错了什么?

你的锚应该是这样的

然后

  • 您引用了cart_total,但您的字段名为amount
  • 引号内的跨距是textnode的一部分,它不再是单独的DOM节点
  • window.addEventListener('load',function(){
    myFunction();
    });
    函数myFunction(){
    var thisamount=document.getElementById(“金额”).value;
    console.log(“thisamount”,thisamount);
    让url=`https://PayPal.me/MyAccount/${thisamount}usd`;
    log(“url”,url);
    document.getElementById(“paypalLink”).setAttribute(“href”,url);
    }
    
    
  • 在调用之前,首先应该声明函数

       <script type ="text/javascript">
        function myFunction() {
         var thisamount = document.getElementById("cart_total").value;
         alert(thisamount);
         document.getElementById("myspan").innerHTML = thisamount;
        }
    
       window.addEventListener('load', function () {
        myFunction();
       })
      </script>
    
    
    函数myFunction(){
    var thisamount=document.getElementById(“购物车总计”).value;
    警报(该金额);
    document.getElementById(“myspan”).innerHTML=此金额;
    }
    window.addEventListener('load',函数(){
    myFunction();
    })
    
  • 无法在另一个元素属性中添加元素

    <a target='_blank' href="https://PayPal.me/MyAccount">
    <span id='myspan'>0.00</span>
    
    
    0
    

  • 另一个解决方案可以是这样的(我在代码段中添加了注释):

    document.querySelector('#amount').addEventListener('change',function(){//addchange事件到输入中以更新当前href
    document.querySelector('#sendMoney').setAttribute('href','https://PayPal.me/MyAccount/“+this.value+'USD”);//设置href
    document.querySelector('#sendMoney').textContent=this.value+'$';//使用当前值设置文本内容
    });
    
    设置金额
    

    你想在链接中添加一个span来做什么?你不能在其他元素的属性中添加元素。因此我无法向URL添加值?我想他可能正试图更改URL以包含金额。确切地说。只是想让用户更方便。@RickyD好的,我更新了我的答案。我相信这就是你想要实现的
    <a target='_blank' href="https://PayPal.me/MyAccount">
    <span id='myspan'>0.00</span>