Jquery 如何选择最近的?

Jquery 如何选择最近的?,jquery,html,css,jquery-selectors,selector,Jquery,Html,Css,Jquery Selectors,Selector,我在输入字段的“内部”有一个图标。 当我悬停时,我想改变图标和它所在的输入字段的类型。我有3个类似的字段,所以我想选择这个特定的字段 HTML: CSS只是为了了解什么是内部的复制: .fa-eye-slash{ color: #34495e; margin-left: -20px; } .fa-eye{ color: #34495e; margin-left: -20px; } 因此,当我悬停图标时,它应该更改输入字段的类型,将其从密码更改为文本,稍后再更改

我在输入字段的“内部”有一个图标。 当我悬停时,我想改变图标和它所在的输入字段的类型。我有3个类似的字段,所以我想选择这个特定的字段

HTML:

CSS只是为了了解什么是内部的复制:

.fa-eye-slash{
    color: #34495e;
    margin-left: -20px;
}

.fa-eye{
    color: #34495e;
    margin-left: -20px;
}

因此,当我悬停图标时,它应该更改输入字段的类型,将其从密码更改为文本,稍后再更改。

关于标题中的问题,因为这些图标是紧跟在它们相关的字段后面的I元素,$this.prev将为输入提供jQuery对象

因此,当我悬停图标时,它应该会改变,并将输入字段的类型从密码更改为文本,稍后再更改

一旦一个输入被创建并具有一个类型,您就不能更改该类型,但某些浏览器还不能处理它。相反,您可以有两个输入,一个类型=文本,另一个类型=密码,并根据需要显示/隐藏它们。

尝试此小提琴路径

问题在于

$(this).attr('type' = 'text') 
这样使用:

$(this).prev().attr('type', 'text')

当术语不是代码时,不要随意地将它们放在代码样式中,这会损害可读性。也许jQuery中最接近的方法会有所帮助?
$(this).attr('type' = 'text') 
$(this).prev().attr('type', 'text')