Javascript 如何从next()获取输入值

Javascript 如何从next()获取输入值,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我需要从输入中检索数据,但id是动态的。我只知道该字段的前一个名称,在我的代码片段中是登录和密码。 以下是我尝试过的: console.log($($td:contains('Login')).next('input').val()); log($($td:contains('Login')).next('td>input').val()); log($($td:contains('Login')).next('tr>td>input').val()) 登录 密码 您的代码有两个问题 1-应

我需要从输入中检索数据,但id是动态的。我只知道该字段的前一个名称,在我的代码片段中是登录密码。 以下是我尝试过的:

console.log($($td:contains('Login')).next('input').val());
log($($td:contains('Login')).next('td>input').val());
log($($td:contains('Login')).next('tr>td>input').val())

登录
密码

您的代码有两个问题

1-
应该包装到
中才能成为有效的html

2-输入的
不是
td
之后的下一个元素。您应该先获取下一个
td
,然后在其中选择
input

console.log($($td:contains('Login')).next('td').find('input').val())

登录
密码

您的代码有两个问题

1-
应该包装到
中才能成为有效的html

2-输入的
不是
td
之后的下一个元素。您应该先获取下一个
td
,然后在其中选择
input

console.log($($td:contains('Login')).next('td').find('input').val())

登录
密码

首先不要将文本用作鉴别器。在元素上设置一个ID,这样更有效。如果您可以将类设置为两个输入,然后按类选择它们。而且更干净、更有效

如果您正在进行屏幕抓取,并且无法更改html代码,那么我建议您选择所有相关的``并在代码中循环它们。在那里,你可以使用更好的工具。例如

$("tr")
.toArray()
.filter((el) => /Login|Password/.exec($(el).text()) !== null)
.map((el) => el.querySelector("input"));

祝你好运

首先不要将文本用作鉴别器。在元素上设置一个ID,这样更有效。如果您可以将类设置为两个输入,然后按类选择它们。而且更干净、更有效

如果您正在进行屏幕抓取,并且无法更改html代码,那么我建议您选择所有相关的``并在代码中循环它们。在那里,你可以使用更好的工具。例如

$("tr")
.toArray()
.filter((el) => /Login|Password/.exec($(el).text()) !== null)
.map((el) => el.querySelector("input"));

祝你好运

您可以将公共类名分配给要获取其值的所有输入元素

检查下面的代码

$(“.data”).each(函数(k,v){console.log($(v.val())})

登录
密码

您可以将公共类名分配给要获取其值的所有输入元素

检查下面的代码

$(“.data”).each(函数(k,v){console.log($(v.val())})

登录
密码

您是否在和元素的事件处理程序下运行此逻辑?可能可以遍历DOM以从中找到相关元素。不,它不在event handlerAssign common class下。将common class分配给您不想获取值的所有输入元素,使用该类您可以使用单行获取值。但是我没有DOM访问权限。您是否在and元素的事件处理程序下运行此逻辑?也许可以遍历DOM,从中找到相关的元素。不,它不在event handlerAssign common class下。将common class分配给您不想获取值的所有输入元素,使用该类您可以使用单行获取值。但是我没有DOM访问权限我没有访问dom@executable然后你可以试试类似的东西$(“.fieldarea input”).each(函数(k,v){console.log($(v).val())})这段代码。我没有访问dom@executable然后您可以尝试类似$(“.fieldareainput”).each(函数(k,v){console.log($(v.val())})的方法这段代码。@executable在发布多个答案后更改问题不是一件好事。您应该发布新的问题。但是请检查我不想发布多个漂亮的问题similar@executable在发布多个答案后更改问题不是一件好事。您应该发布新问题。但是请检查我不想发布多个非常相似的问题