Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这+;类选择器?_Javascript_Jquery - Fatal编程技术网

Javascript 这+;类选择器?

Javascript 这+;类选择器?,javascript,jquery,Javascript,Jquery,目前,我有三个输入字段。当其中有文本时,锚将显示在右侧。但目前,当我输入一个时,所有三个输入字段都会显示锚定 我需要知道的是,jQuery是否有this+类选择器?例如: $(this+'.more') 这是我现在需要的东西,在jQueryAPI中似乎找不到它或任何类似的东西 HTML: 如果我的选择器仅为$('.more')当我也只想要正确的选择器时,这三个选择器都会切换。如何执行此操作?您可以使用next()以输入后的下一个元素为目标 $('input[type=text]', '#max,

目前,我有三个输入字段。当其中有文本时,锚将显示在右侧。但目前,当我输入一个时,所有三个输入字段都会显示锚定

我需要知道的是,jQuery是否有this+类选择器?例如:
$(this+'.more')

这是我现在需要的东西,在jQueryAPI中似乎找不到它或任何类似的东西

HTML:

如果我的选择器仅为
$('.more')
当我也只想要正确的选择器时,这三个选择器都会切换。如何执行此操作?

您可以使用
next()
以输入后的下一个元素为目标

$('input[type=text]', '#max, #onepoint, #leftover').on('change', function() {
    $(this).next('.more').toggle( !!this.value.length );
});

您可以使用
next()
以输入后的下一个元素为目标

$('input[type=text]', '#max, #onepoint, #leftover').on('change', function() {
    $(this).next('.more').toggle( !!this.value.length );
});

它是已更改的
输入元素的下一个同级元素,因此使用和来更改显示使用,而不是显示/隐藏

$('#max input[type=text], #onepoint input[type=text], #leftover input[type=text]').on('change', function () {
    $(this).next('.more').toggle($(this).val() != '');
});

它是已更改的
输入
元素的下一个同级元素,因此使用和来更改显示使用,而不是显示/隐藏

$('#max input[type=text], #onepoint input[type=text], #leftover input[type=text]').on('change', function () {
    $(this).next('.more').toggle($(this).val() != '');
});

我个人建议将您的初始选择器修改为:

$('div[id] > input[type="text"]').on('change', function(){
    $(this).next('a').toggle(this.value.length);
});

或者,使用特定元素“
id
s”作为标识符(但仍然会稍微缩短选择器链):

参考:


我个人建议将您的初始选择器修改为:

$('div[id] > input[type="text"]').on('change', function(){
    $(this).next('a').toggle(this.value.length);
});

或者,使用特定元素“
id
s”作为标识符(但仍然会稍微缩短选择器链):

参考:


这不是div中输入的唯一实例。如果是的话,我会用它。是的,这应该行得通,但现在和其他答案一样:PI更喜欢使用更具体的选择器,所以正如你所说,这都是个人喜好。谢谢你的回答。这不是divs中输入的唯一实例。如果是的话,我会用它。是的,这应该行得通,但现在和其他答案一样:PI更喜欢使用更具体的选择器,所以正如你所说,这都是个人喜好。谢谢你的回答。@RGS两者都是必需的,否则它与我想要的相反。当字段为空时,
.more
应该被隐藏。@RGS两者都是必需的,否则它与我想要的相反。当字段为空时,
。应隐藏更多