Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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_Visible - Fatal编程技术网

Javascript 选择使用函数时最后可见的字段

Javascript 选择使用函数时最后可见的字段,javascript,jquery,visible,Javascript,Jquery,Visible,这是我的问题: 我们有5个具有相同类名的输入字段,例如class=“inputfield”。默认情况下,加载页面时,您只能看到第一个页面。在字段旁边有一个按钮显示第二个字段。当您单击它时,将使用函数showNext(),您将看到第二个字段,旁边还有一个显示第三个字段的按钮等 我想做什么?我必须使用class=“inputfield”获取最后一个可见的输入字段 我已经找到了函数last()和:visible,但是当我单击按钮显示下一个输入字段时,第一个仍然是最后一个,因为我不知道如何刷新代码 我想

这是我的问题:

我们有5个具有相同类名的输入字段,例如
class=“inputfield”
。默认情况下,加载页面时,您只能看到第一个页面。在字段旁边有一个按钮显示第二个字段。当您单击它时,将使用函数
showNext()
,您将看到第二个字段,旁边还有一个显示第三个字段的按钮等

我想做什么?我必须使用
class=“inputfield”
获取最后一个可见的输入字段

我已经找到了函数last()和
:visible
,但是当我单击按钮显示下一个输入字段时,第一个仍然是最后一个,因为我不知道如何刷新代码

我想做的是,每次调用函数
showNext
,我都需要运行我的代码,这样我就总是有最后一个可见的输入字段。我无法在
showNext()
中添加代码,因此我需要一个
侦听器和我自己的代码来选择最后一个可见的输入字段

在我的代码中,当用户单击我将显示的另一个按钮时,我希望在输入字段中添加一个值。但我总是需要将它添加到最后一个可见的输入字段,这就是为什么我需要知道最后一个可见字段是什么

额外信息: 不可见字段已存在于显示为“无”的代码中。 我尝试的是:

  • 当我只使用
    $(“.inputfield”).last()时,我得到了最后一个字段,但不可见的字段
  • 使用
    $(“.inputfield:visible”)
    总是第一个被“选中”。即使第二个现在可见
  • 这可能吗

    我的问题的打印屏幕: 我选择它与

    $(".inputfield:visible").last().css("border", "2px solid #990000");
    

    编辑:
    我想我找到了解决问题的方法,所以我总是有最后一个可见的区域。Tnx以获取帮助。

    要获取classname
    'inputfield'
    的最后一个元素,请执行以下操作:

    var inputs = document.getElementsByClassName('inputfield');
    var lastInput = inputs[inputs.length - 1];
    
    要获取classname
    为'inputfield'
    的最后一个可见元素,使用jQuery更容易:

    var inputs = $('.inputfield:visible').last();
    

    您的问题不太清楚,但据我所知,您正在尝试访问调用
    showNext
    后可见的最后一个元素

    知道最后一个可见输入是当前可见输入之前的输入,调用
    showNext
    后,可以使用该逻辑知道最后一个可见输入是什么

    但是,您也可以在调用
    showNext
    之前检索当前可见的元素

    var $lastVisible = $('.inputfield:visible').last();
    
    showNext();
    

    请注意,如果您反转语句,您也可以使用相同的逻辑来获取调用
    showNext
    后可见的最后一个字段。

    最后一个可见的
    input
    …当我只使用$(“.inputfield:visible”)。最后一个()我获取最后一个字段,但不可见的一个…@DavidThomas:Whoops,错过了。现已修复。$('.inputfield:visible').last();它不起作用。见我问题的第(2)点。总是第一个被“选中”。我需要刷新$('.inputfield:visible').last()@恩德卡:如果一个程序员问你“你是怎么做X的”,他希望得到代码的回答。从字面上看,你是如何使它们可见的?你(相关的)最小代码是什么?回答者注意:在建议
    last()
    :last
    之前,请先阅读问题。鉴于缺少代码(HTML,相关的JavaScript/jQuery),请注意,我投票以“主题外”结束。寻求调试帮助的问题(“此代码为什么不工作?”)必须包括所需的行为,一个特定的问题或错误,以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。我已经建议了
    $('.inputfield:visible').last()
    ,但显然,这不起作用。。。