Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 OnClick问题与添加类_Javascript_Jquery_Html - Fatal编程技术网

Javascript JQuery OnClick问题与添加类

Javascript JQuery OnClick问题与添加类,javascript,jquery,html,Javascript,Jquery,Html,基本上,我是在单击时添加一个“id”类。ID更新为“活动” 如果单击小图像,则生成器库项需要在末尾添加一个id=“active” 这是我在我的中尝试过的,在一个外部文件中有完全相同的代码,但它就是不起作用 jQuery(function ($) { $(document).ready(function ($) { $('.builder-gallery-item').on('click', changeClass); }); }); function changeClass(

基本上,我是在单击
时添加一个“id”类。ID更新为“活动”

如果单击小图像,则生成器库项
需要在末尾添加一个
id=“active”

这是我在我的中尝试过的,在一个外部文件中有完全相同的代码,但它就是不起作用

jQuery(function ($) {
  $(document).ready(function ($) {
    $('.builder-gallery-item').on('click', changeClass);
  });
});

function changeClass() {
  $('.builder-gallery-item').removeAttr('id', 'active');
  $(this).attr('id', 'active');
}

我想你在寻找方法和途径

在阅读了您的评论之后,我强烈建议您使用类而不是ID,因为

看到这个了吗

编辑要清除注释,OP有一个更新的类,其中活动类仍然没有应用于包含图片的div

基于该JSFIDLE,您正在使用
builder gallery item
类对所有元素调用
addClass('active')
,而不仅仅是单击的元素。您应该使用:

jQuery(function ($) {
    $(".builder-gallery-image").on("click", function () {
        $('.builder-gallery-item').removeClass('active');
        $(this).closest('div').addClass('active');
    });
});

$(this)
实际上引用了figure对象,这就是为什么我使用了
$(this).closest('div')
。请参见

您已经准备好了文档,文档准备就绪。不必要的。提示:操作类,而不是ID。
。removeAttr()
需要一个参数,这是您要删除的属性。j08691-我已经删除了文档,但它仍然不起作用。MelanciaUK-我正在尝试更改ID,因为我已经有需要保留在其中的类
jQuery(function ($) {
    $(".builder-gallery-image").on("click", function () {
        $('.builder-gallery-item').removeClass('active');
        $(this).closest('div').addClass('active');
    });
});