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

时间:2016-04-22 07:40:31

标签: jquery text console counter calculator

我试图阻止点击事件在字符长度大于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)
};

1 个答案:

答案 0 :(得分:0)

请你看看下面更新的小提琴链接:

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;
});

我认为它会对你有所帮助。