为什么我的代码无法在jquery中正确计算计数


How come my code cannot calculate count correctly in jquery?

我正在尝试限制关键字输入。

每当用户输入关键字时,它都会在该关键字后面附加"span",例如

就像下面的html代码一样。

我可以限制单词,但计数不准确,但当它达到5时,它就停止输入了。

如果我刷新页面,我可以再次输入一个,然后再次阻止我。

奇怪的是,如果我为var count=$('#result_tag').text()使用id,它就不起作用。我必须上课。

我曾试图更改/'S+/g to /'s+/g,但没有工作,我必须保留S资本。

JQuery:

$( "#tag" ).on( "keydown", function( event ) {
        var count=$('.result_tag').text();
        var words=count.match(/'S+/g).length;
        if(words >= 8 ){
            alert('No more than eight words');  
        }       
        //save tag after press enter key   
        else if ( event.which==188 || event.which == 13 ) {
        event.preventDefault();
        //codes will do the action

HTML:

<span id="result_tag" class="result_tag">keyword that user enter</span>
<span id="result_tag" class="result_tag">keyword that user enter</span>
<span id="result_tag" class="result_tag">keyword that user enter</span>

id应该是唯一的,这就是为什么"如果我使用id,它就不起作用"。

至于你的另一个问题,你的计算方法似乎有点复杂。听起来你所需要做的就是计算跨度本身:

var words = $('.result_tag').length;

使用length属性来获取关键字的计数。

    $("#tag").on("keydown", function(event) 
    {
         var count = $('.result_tag').length;
         if (count >= 8) 
         {
               alert('No more than eight words');
         }
         ...........
         ...........