javascript - 这是 firefox 或 jquery 中的错误还是我做错了什么?

标签 javascript jquery firefox

我想更改 div 单击时的隐藏输入值,因此我执行以下操作:

$('#gallery').click(function(){
        if ($('input[name=isgallery]').attr('value') == '0') {
            $('input[name=isgallery]').attr('value', '1')
        }
        else {
            $('input[name=isgallery]').attr('value', '0')
        }
        $('#filterform').attr('action',$('#filterform').attr('act'));
        alert('ok');
        $('#filterform').submit();
    }
    );

当它等于0时我将其更改为1,否则 但没用 以下代码有效:

$('#gallery').click(function(){
        if ($('input[name=isgallery]').attr('value') == '0') {
            $('input[name=isgallery]').attr('value', '0')
        }
        else {
            $('input[name=isgallery]').attr('value', '1')
        }
        $('#filterform').attr('action',$('#filterform').attr('act'));
        alert('ok');
        $('#filterform').submit();
    }
    );

而且,当我完全删除该功能时,它仍然有效 并提交表单

也许我还有一个该 div 的处理程序,但我找不到

你可以检查一下 http://www.4block.org/en/museum/posters 然后点击右上角的“图库 View ”

最佳答案

这应该可以更好地跨浏览器工作,并且减少遍历 DOM 来查找元素:)

$('#gallery').click(function(){
  $('input[name=isgallery]').each(function() {
    $(this).val($(this).val() == '0' ? '1' : '0');
  });
  $('#filterform').attr('action',$('#filterform').attr('act')).submit();
});

关于javascript - 这是 firefox 或 jquery 中的错误还是我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659604/

相关文章:

javascript - 使用javascript销毁flash对象

javascript - 如何从具有相同类的多个元素中获取随机元素

jquery - 将许多元素列表放在一个带有分隔符的 Bootstrap 行中

Javascript - 变量失去其值(value)和 "becoming"未定义

JavaScript 版本高于 1.5 - 为什么?

javascript - Web Audio API Recording 适用于 Firefox 但不适用于 Chrome

javascript - <audio> 和 Mozilla Firefox 缓存问题

php - 如何让浏览器显示同名图片而不是缓存的图片?

javascript - 如何在使用 JavaScript 刷新页面时更改图像?

javascript - 如何修复: 'e is not a function' error in react-redux