Javascript 如何按以$开头的类从父级中选择子级(此)
我正在创建一个自定义jQuery插件,在输入框上方添加一些图像。highlight类工作得很好,但我需要.toggle()上的选择器的帮助,以显示和隐藏INPUTBANNER类Javascript 如何按以$开头的类从父级中选择子级(此),javascript,jquery,Javascript,Jquery,我正在创建一个自定义jQuery插件,在输入框上方添加一些图像。highlight类工作得很好,但我需要.toggle()上的选择器的帮助,以显示和隐藏INPUTBANNER类 jQuery.fn.inputmenu = function() { function createInputMenu(node) { $(node).bind('focus', function() { $(this).parent().toggleClass('high
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);
});
};
jQuery.fn.inputmenu=函数(){
函数createInputMenu(节点){
$(节点).bind('focus',function(){
$(this.parent().toggleClass('highlight');
//显示输入横幅类
$(this.parent()。('.inputbanner').toggle();
});
$(节点).bind('blur',function(){
$(this.parent().toggleClass('highlight');
//隐藏INPUTBANNER类
$(this.parent()。('.inputbanner').toggle();
});
$(node.parent().append('some image here');
}
返回此值。每个(函数(){
createInputMenu(此菜单);
});
};
我想查看DOM/html标记的状态以进行测试,但请尝试以下操作:
jQuery.fn.inputmenu = function () {
return this.each(function () {
var $node = $(this);
$node.parent().append('<div class="inputbanner" style="display:none">some images here</div>');
var $nodeImageContainer = $node.parent().find('div.inputbanner').eq(0);
$node.bind('focus', function () {
//SHOW INPUTBANNER CLASS
$nodeImageContainer.addClass('highlight').show();
})
.bind('blur', function () {
//HIDE INPUTBANNER CLASS
$nodeImageContainer.removeClass('highlight').hide();
});
});
};
jQuery.fn.inputmenu=函数(){
返回此。每个(函数(){
var$node=$(这个);
$node.parent().append('some image here');
var$nodeImageContainer=$node.parent().find('div.inputbanner').eq(0);
$node.bind('focus',function(){
//显示输入横幅类
$nodeImageContainer.addClass('highlight').show();
})
.bind('blur',函数(){
//隐藏INPUTBANNER类
$nodeImageContainer.removeClass('highlight').hide();
});
});
};
我想查看DOM/html标记的状态以进行测试,但请尝试以下操作:
jQuery.fn.inputmenu = function () {
return this.each(function () {
var $node = $(this);
$node.parent().append('<div class="inputbanner" style="display:none">some images here</div>');
var $nodeImageContainer = $node.parent().find('div.inputbanner').eq(0);
$node.bind('focus', function () {
//SHOW INPUTBANNER CLASS
$nodeImageContainer.addClass('highlight').show();
})
.bind('blur', function () {
//HIDE INPUTBANNER CLASS
$nodeImageContainer.removeClass('highlight').hide();
});
});
};
jQuery.fn.inputmenu=函数(){
返回此。每个(函数(){
var$node=$(这个);
$node.parent().append('some image here');
var$nodeImageContainer=$node.parent().find('div.inputbanner').eq(0);
$node.bind('focus',function(){
//显示输入横幅类
$nodeImageContainer.addClass('highlight').show();
})
.bind('blur',函数(){
//隐藏INPUTBANNER类
$nodeImageContainer.removeClass('highlight').hide();
});
});
};
这似乎就是您所追求的,您不必返回到父级,然后再返回到.inputbanner来选择它,因为inputbanner是一个兄弟,您只需执行以下操作:
// use .prev() if the element is before
$(this).next('.inputbanner')
另外,作为补充说明,您应该像这样包装插件(这样就不会与$identifier发生冲突)
这似乎就是您所追求的,您不必返回到父级,然后再返回到.inputbanner来选择它,因为inputbanner是一个同级,您只需执行以下操作:
// use .prev() if the element is before
$(this).next('.inputbanner')
另外,作为补充说明,您应该像这样包装插件(这样就不会与$identifier发生冲突)
@pixeline:这个演示对我不起作用。。。公司阻止了一些javascript(包括jQuery)。。。不过我正在测试。@pixeline:这个演示对我不起作用。。。公司阻止了一些javascript(包括jQuery)。。。不过我正在测试这个。