我有一个页面,我有一个text input
在某些屏幕尺寸更改为select
在其他屏幕尺寸。jQuery:可见并没有找到元素
的挑战
我希望能够得到keyup
或change
的input
或select
的价值,而无需复制代码 - 所以我给的元素相同的ID,因为他们知道自己永远不会同时可见,并选择使用以下元素:例如#ID:visible
- 下面的代码
$('#test:visible').on('keyup change', function(){
\t alert($(this).val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div style="display: none">
\t <input id="test">
</div>
<select id="test">
\t <option value="10">10</option>
\t <option value="20">20</option>
</select>
的问题
这根本不起作用。 I have read the jQuery visible-selector page并且我似乎正在以正确的方式做事,但警报根本不会触发。
我误解了这是如何工作的?
但是你可以给一个类,并尝试一下 –
ID是奇异....那是你的问题 – epascarello
即使他们是不可见的,具有“visibility:hidden的”元素仍然占据DOM上的空间。因此,您不能拥有多个具有相同ID的元素。 –