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