Javascript jQuery:visible找不到元素

Javascript jQuery:visible找不到元素,javascript,jquery,Javascript,Jquery,我有一个页面,其中在某些屏幕尺寸下有一个文本输入,而在其他屏幕尺寸下,它会变成一个选择 挑战 我希望能够在keyup或change上获取输入或选择的值,而无需复制代码-因此,我给元素赋予相同的ID,知道它们永远不会在同一时间可见,并选择使用以下代码查找元素:例如\ID:visible-代码 $('test:visible')。在('keyup change',function()上{ 警报($(this.val()); }) 10 20 所以我给元素相同的ID,知道它们永远不会在同一时间可

我有一个页面,其中在某些屏幕尺寸下有一个
文本输入
,而在其他屏幕尺寸下,它会变成一个
选择

挑战

我希望能够在
keyup
change
上获取
输入
选择
的值,而无需复制代码-因此,我给元素赋予相同的ID,知道它们永远不会在同一时间可见,并选择使用以下代码查找元素:例如
\ID:visible
-代码

$('test:visible')。在('keyup change',function()上{
警报($(this.val());
})

10
20
所以我给元素相同的ID,知道它们永远不会在同一时间可见

不幸的是,它不是这样工作的。无论元素是否可见,都不能在同一文档的范围内复制
id
属性。您需要使用类将多个元素组合在一起:

$('.test:visible').on('keyup change',function()){
警报($(this.val());
})

10
20

但是,您可以给一个类并尝试它,因为ID是单数的。。。。这就是您的问题即使它们不可见,但具有“可见性:隐藏”的元素仍会占用DOM上的空间。因此,您不能有多个元素具有相同的ID。嗯,是的,只是将它们更改为类,所有工作正常-您可以生活和学习!谢谢没问题,很乐意帮忙。