Cha*_*her 7 jquery element function
嗨,我有一个函数,我想通过单击元素或通过元素作为参数调用函数来传递元素.这就是我所拥有的:
function change_btm_cat(item) {
$('div.prod_matrix').removeClass('block');
$('div.prod_matrix').addClass('none');
$('div.prod_matrix#'+item.attr('id')).removeClass('none');
$('div.prod_matrix#'+item.attr('id')).addClass('block');
$('div.btm_cat').removeClass('green_grad');
$('div.btm_cat').addClass('grey_grad');
item.removeClass('grey_grad');
item.addClass('green_grad');
//ps. i know its messy, just testing stuff
}
Run Code Online (Sandbox Code Playgroud)
我可以轻松地使用它来工作:
$('div.btm_cat').click(function() {
change_btm_cat($(this));
});
Run Code Online (Sandbox Code Playgroud)
但当我尝试:
$('another.element').live('click', function() {
change_btm_cat($('div.btm_cat#7'));
});
Run Code Online (Sandbox Code Playgroud)
它似乎没有通过任何功能.
有关工作示例,请参阅jsFiddle:http: //jsfiddle.net/rb7ZG/1/
Rob*_*Rob 14
尝试:
$('div.btm_cat').click(change_btm_cat);
function change_btm_cat()
{
$(this) //becomes available
}
Run Code Online (Sandbox Code Playgroud)
和
$('another.element').live('click', change_btm_cat);
Run Code Online (Sandbox Code Playgroud)
你对选择器的使用有点过分了,试试这个。
$('another.element').live('click', function() {
change_btm_cat($('#7'));
});
Run Code Online (Sandbox Code Playgroud)
由于您拥有 ID,并且 ID 几乎是您可以拥有的最精确的唯一信息(作为标识符),因此不需要其他改进。
如果我错过了你的目标,请告诉我。