我正在创建一个自定义jQuery插件,以在输入框上方添加一些图像。高亮类工作正常,但是我需要.toggle()上的选择器的帮助来显示和隐藏INPUTBANNER类。
jQuery.fn.inputmenu = function() {
function createInputMenu(node) {
$(node).bind('focus', function() {
$(this).parent().toggleClass('highlight');
//SHOW INPUTBANNER CLASS
$(this).parent().('.inputbanner').toggle();
});
$(node).bind('blur', function() {
$(this).parent().toggleClass('highlight');
//HIDE INPUTBANNER CLASS
$(this).parent().('.inputbanner').toggle();
});
$(node).parent().append('<div class="inputbanner">some images here</div>');
}
return this.each(function() {
createInputMenu(this);
});
};
最佳答案
这似乎就是您所追求的,您不必回到父级,然后再回到.inputbanner进行选择,因为inputbanner是同级的,您可以这样做:
// use .prev() if the element is before
$(this).next('.inputbanner')
另外请注意,您应该像这样包装您的插件(以便与$标识符没有冲突)
(function($) {
$.fn.inputmenu = function() {
// plugin implementation here
}
})(jQuery);