Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Javascript 类不工作jQuery_Javascript_Jquery_Html - Fatal编程技术网

Javascript 类不工作jQuery

Javascript 类不工作jQuery,javascript,jquery,html,Javascript,Jquery,Html,因此,我尝试在jQuery中检查输入,并使用相同的类名动态生成了多个元素。它不是让我同时单击这两个元素,而是让我单击生成的第一个元素 例如:我点击项目1,它返回项目1的id,但当我点击项目2时,它不返回任何内容 HTML 首先,您必须使用普通函数而不是箭头函数(以避免丢失上下文)。其次-使用这个关键字来引用实际单击的元素 $(“.resp”)。在(“单击”,函数(){ console.log('尝试切换'+this.id); }); A. B这是因为.attr('id')返回集合中第一个匹配

因此,我尝试在jQuery中检查输入,并使用相同的类名动态生成了多个元素。它不是让我同时单击这两个元素,而是让我单击生成的第一个元素

例如:我点击项目1,它返回项目1的id,但当我点击项目2时,它不返回任何内容

HTML


首先,您必须使用普通函数而不是箭头函数(以避免丢失上下文)。其次-使用
这个
关键字来引用实际单击的元素

$(“.resp”)。在(“单击”,函数(){
console.log('尝试切换'+this.id);
});

A.

B
这是因为
.attr('id')
返回集合中第一个匹配元素的
id
属性值

相反,对处理程序使用老式函数,使
值等于单击的div,然后获取其
id

$(“.resp”)。在(“单击”,函数(){
var id=$(this.attr('id');
console.log('尝试切换'+id);
});

弗斯特

其次,这里要做的是引用类名来获取id。这会收集第一个类名的id,这不是您想要的。您需要做的是使用
this
关键字来正确获取id

删除箭头函数并稍微更改内部代码后,应如下所示:

$(".resp").on("click", function() {
  var id = this.id;
  console.log('attempting toggle: ' + id);
});
还要确保正确安装了JQuery。从中获取JQuery嵌入代码。
还记得在JavaScript代码之前包含JQuery代码。如果动态添加了
div
,是否应该使用事件委派?i、 e.
$(document).on('click',.resp',function(){})
    $(".resp").on("click",() =>{
      var id = $(".resp").attr("id");
      console.log('attempting toggle' + id);
    });
$(".resp").on("click", function() {
  var id = this.id;
  console.log('attempting toggle: ' + id);
});