返回元素的文本长度 (jquery)

Returning text length of an element (jquery)

当字符长度大于 10 时,我试图阻止点击事件附加到 html 元素,但我认为我 运行 陷入语法错误我可以想明白了。

(只是一些更多的信息。这是一个可选的计算器项目,可能有更优雅的方法来做到这一点,但我们应该在没有任何真正深入的情况下尝试一下 JS/jQuery学习。)这是我用来测试代码的 jsFiddle,然后再将其放入我的文件中。

我认为最简单的方法是将每个数字推入一个元素(屏幕中继),然后抓取整个元素并应用 eval()。我试图让控制台在注册字符限制超过 10 时进行报告,但我没有收到任何信息。谢谢指点! (编辑:因为礼貌)

https://jsfiddle.net/vx09p7kk/

// Evaluate value of screen

$("#equals").click(function() {
  var x = ($("#screen-relay").text());
  var finalValue = eval(x);

  console.log(finalValue);

  $("#output").html(finalValue);
});

// Clear Function

$("#clear").click(function() {
  ($("#screen-relay, #output").text(""));
});

// Char Limit Function

var CharCount = ($("#screen-relay").text().length);
if(CharCount > 10) {
  console.log(bam)
};

你能看看下面更新的吗fiddle link:

https://jsfiddle.net/vx09p7kk/4/

我只是添加了一个计数器 totalCharEntered,它在每次插入字符时递增,并在我们单击清除按钮时被清除:

// Buttons
var totalCharEntered = 0;
$("#one").click(function() {
  if(totalCharEntered <10){
    $("<span>1</span>").appendTo("#screen-relay");
    totalCharEntered++;
   }
});
$("#two").click(function() {
    if(totalCharEntered <10){
    $("<span>2</span>").appendTo("#screen-relay");
    totalCharEntered++;
   }
});
$("#plus").click(function() {
    if(totalCharEntered <10){
    $("<span>+</span>").appendTo("#screen-relay");
    totalCharEntered++;
   }
});

// Clear Function

$("#clear").click(function() {
  ($("#screen-relay, #output").text(""));
  totalCharEntered = 0;
});

我想这会对你有所帮助。