Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
JQuery焦点-有输入吗?_Jquery_Input_Focus - Fatal编程技术网

JQuery焦点-有输入吗?

JQuery焦点-有输入吗?,jquery,input,focus,Jquery,Input,Focus,据我所知,焦点事件必须与输入框之类的东西一起使用,但这似乎对我不起作用。我有下面的小提琴。。。当有人关注文本框时,我试图让“Guide”div出现。我不确定问题的一部分是否是我使用了“兄弟姐妹”以及输入框是否需要唯一的ID?但我将唯一标识符作为父项,然后引用兄弟项 你会看到,我确实有一些额外的代码在那里为'错误'和'好'的消息。我正在努力让JQuery事件与Twitter注册页面(如果有人可以的话)相匹配direhttps://twiter.com/signup 但这是另一篇文章 非常感谢您的

据我所知,焦点事件必须与输入框之类的东西一起使用,但这似乎对我不起作用。我有下面的小提琴。。。当有人关注文本框时,我试图让“Guide”div出现。我不确定问题的一部分是否是我使用了“兄弟姐妹”以及输入框是否需要唯一的ID?但我将唯一标识符作为父项,然后引用兄弟项

你会看到,我确实有一些额外的代码在那里为'错误'和'好'的消息。我正在努力让JQuery事件与Twitter注册页面(如果有人可以的话)相匹配direhttps://twiter.com/signup 但这是另一篇文章


非常感谢您的帮助。谢谢

您是对的,兄弟姐妹是错误的选择器。同级指的是具有相同父级的其他元素,而您的输入字段中没有这些元素

因为您使用的是一个ID选择器,并且ID的定义是唯一的,所以不需要遍历

$('input#registerBox').focus(
    function() {
        $('#registerGuideName').show();
    }
);
​ 您已经在使用带有
$(this)
的jquery对象,那么为什么不直接选择该ID呢

如果由于文档中有多个副本,脚本需要遍历,则需要使用类或数据属性,而不是ID选择器。正确的遍历意味着找到一个共同的父对象,然后找到合适的子对象


非常感谢。我使用了这个代码,它也非常有意义。这篇文章和其他用户关于遍历的文章都非常有用。终于成功了!谢谢你的帮助!首先,我修复了一些东西,并在更合适的地方使用了类。现在我对遍历有了更多的了解,它非常有用。非常感谢。
$('input.registerBox').focus(
    function() {
        $(this).closest('.registerName').find('.registerGuideName').show();
    }
);
$('input#registerBox').focus(
    function() {
     $(this)
       .closest('#registerBoxName') // go to parent div#registerBoxName
       .next('.registerGuidance')   // move to next div.registerGuidance
       .find('#registerGuideName')  // finding target #registerGuideName within div.registerGuidance
       .show(); // make display
   }
});