Javascript 从link-jQuery添加/删除div类

Javascript 从link-jQuery添加/删除div类,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我在这里已经玩得够多了,可以把它带到现在的位置,但是我需要一些帮助来跨越障碍。。。像我想的每个人一样 我试图使它成为这样,当你点击一个链接(.clickable)时,它会将宽度从span3更改为span6 .clickable链接在一个div中,这个div是类需要更改的-.block是我在项目选择器中使用的 链接: <a class="clickable" href="#enlarge-article"><i class="icon-fullscreen"></i&

我在这里已经玩得够多了,可以把它带到现在的位置,但是我需要一些帮助来跨越障碍。。。像我想的每个人一样

我试图使它成为这样,当你点击一个链接(.clickable)时,它会将宽度从span3更改为span6

.clickable链接在一个div中,这个div是类需要更改的-.block是我在项目选择器中使用的

链接:

<a class="clickable" href="#enlarge-article"><i class="icon-fullscreen"></i>&nbsp;&nbsp;<strong>Enlarge</strong></a>
更新的类输入错误-如.js中所示,请尝试以下操作:

var $container = $('#portfolio');   
$container.delegate( '.block', 'click', function(){
    $(".block").removeClass('span6').addClass('span3');
    $(this).removeClass('span3').addClass('span6');
    $container.isotope('reLayout');
});

您说过处理程序用于.clikable元素,对吧

也可以使用
.on()
代替
.delegate()

试试这个

var $container = $('#portfolio');   
$container.on( 'click','.clickable', function(e){
    e.preventDefault();
    // If you want to affect all the .block divs
    $(".block").removeClass('span6').addClass('span3');
    // If you want to affect only the block in which the anchor was clicked
    //$(this).closest('.block').removeClass('span6').addClass('span3');
    $(this).removeClass('span3').addClass('span6');
    $container.isotope('reLayout');
});

jQuery委托是一个过时的函数。查看是否希望
单击
处理
。可单击
为什么要将
单击
事件委托给
.block
$(此项)。如果不希望其他
.block
元素受到影响,则可以使用父项('.block')
。。我将使用最接近的选择器。。编辑后的帖子我尝试了所有这些,它们的工作方式都不同,但下面的pckill给出了正确的解决方案。
var $container = $('#portfolio');   
$container.on( 'click','.clickable', function(e){
    e.preventDefault();
    // If you want to affect all the .block divs
    $(".block").removeClass('span6').addClass('span3');
    // If you want to affect only the block in which the anchor was clicked
    //$(this).closest('.block').removeClass('span6').addClass('span3');
    $(this).removeClass('span3').addClass('span6');
    $container.isotope('reLayout');
});