Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-使用相同的数据匹配元素_Jquery - Fatal编程技术网

jQuery-使用相同的数据匹配元素

jQuery-使用相同的数据匹配元素,jquery,Jquery,我喜欢在键入每个textarea时将textarea数据与span数据进行匹配,以使用相同的数据重新运行span中剩余的字符 如何匹配它们 html <span data-lang="gb"></span> <textarea data-lang="gb"></textarea> <span data-lang="en"></span> <textarea data-lang="en"></textar

我喜欢在键入每个textarea时将textarea数据与span数据进行匹配,以使用相同的数据重新运行span中剩余的字符

如何匹配它们

html

 <span data-lang="gb"></span>
<textarea data-lang="gb"></textarea>

<span data-lang="en"></span>
<textarea data-lang="en"></textarea>

您可以在文本区域中创建一个数据属性,告诉它计数器元素是什么,并使用它来选择和更新计数器

像这样:

$(“[数据计数器]”)。在('input',函数(e)上{
var counter=$(this.data('counter');
变量$计数器=$(计数器);
var maxlength=parseInt($(this).attr('maxlength');
var count=$(this).val().length;
$counter.text('Characters left:'+(maxlength-count));
}).触发器(“输入”)

您非常接近这一点:

$('textarea').each(function(){
  var lang = $(this).data('lang');
  $(this).keyup(function(){
    if (this.value.length > 50) {
      return false;
    }
    $('span[data-lang="'+lang+'"]').html("(characters left: " +(50 - $(this).val().length) + " )");
  });
});
例如,您可以看到,您可以按数据属性选择元素。
请注意,此代码未经测试

Ok?你试过什么?我在这段代码中没有看到任何选择器试图获取span。您希望这样,当您键入textarea时,具有相同
data lang
的span将显示textarea的字符数?是的,我的意思正是我在寻找“span[data lang=“'+lang+'”]”非常感谢您是高手:)谢谢。如果这是你正在寻找的,请考虑接受答案。
$('textarea').each(function(){
  var lang = $(this).data('lang');
  $(this).keyup(function(){
    if (this.value.length > 50) {
      return false;
    }
    $('span[data-lang="'+lang+'"]').html("(characters left: " +(50 - $(this).val().length) + " )");
  });
});