从getElementById获取数字值不起作用

时间:2016-08-18 04:09:46

标签: javascript

我有一个简单的函数,可以减少id" numactions"每次点击一个按钮。我缺少的是如何获取span id的值。我尝试了getElementById,但这并不奏效。

[[0]*n for _ in range(n)]

6 个答案:

答案 0 :(得分:1)

您的代码有两个问题..首先,这一行:

var clicks = document.getElementById("numactions");

将获取HTML元素span而非 5 ,以获取您应使用的内容.textContent.innerHTML

其次,使用上面的内容你会得到一个"字符串"表示内容,而不是"数字",因此您需要使用 parseInt() (1) 来获取数值。

codePen



var clicks = parseInt(document.getElementById("numactions").textContent, 10);

function clickME() {
  clicks -= 1;
  document.getElementById("numactions").innerHTML = clicks;
}

<span id="numactions">5</span>

<button type="button" onClick="clickME()">Click me</button>
&#13;
&#13;
&#13;

(1) 强烈建议使用 radix ,10)部分答案中parseInt,这里的意思是十进制数字系统。此外,在使用parseInt()时,您获得整数,对于浮点数,您应该使用parseFloat()

答案 1 :(得分:0)

试试这个:

var clicks = document.getElementById("numactions").innerHTML * 1;
function clickME() {
   clicks -= 1;
   document.getElementById("numactions").innerHTML = clicks;
}

希望对你有用。

答案 2 :(得分:0)

你需要parseInt来获取范围内的数字。

 <span id="numactions">5</span>

    <button type="button" onClick="clickME()">Click me</button>

    <script>

    var clicks = parseInt(document.getElementById("numactions").innerHTML) || 0;

       function clickME() {
           clicks -= 1;
           document.getElementById("numactions").innerHTML = clicks;
        }
    </script>

https://jsfiddle.net/wh1qfkre/1/

答案 3 :(得分:0)

您需要获取numactions的innerHTML才能获得原始计数。因为它是一个字符串,只需使用parseInt()fn解析并将计数器减一。

&#13;
&#13;
   

var clicks = document.getElementById("numactions");

function clickME() {
        var counter = parseInt(clicks.innerHTML)-1;
         document.getElementById("numactions").innerHTML = counter;
        }
  
&#13;
<span id="numactions">5</span>

<button type="button" onClick="clickME()">Click me</button>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

这是我在没有JQuery的情况下工作的clickME函数

router.POST("/api/v1/endpoint1", ReverseProxy()

func ReverseProxy() gin.HandlerFunc {

    target := "localhost:3000"

    return func(c *gin.Context) {
        director := func(req *http.Request) {
            r := c.Request
            req = r
            req.URL.Scheme = "http"
            req.URL.Host = target
            req.Header["my-header"] = []string{r.Header.Get("my-header")}
            // Golang camelcases headers
            delete(req.Header, "My-Header")
        }
        proxy := &httputil.ReverseProxy{Director: director}
        proxy.ServeHTTP(c.Writer, c.Request)
    }
}

检查工作演示here

答案 5 :(得分:0)

这是修改过的clickMe(),试试这个就行了

function clickME() {
       var val= clicks.innerHTML;
       val -= 1;
       document.getElementById("numactions").innerHTML = val;
    }