Javascript 如何仅为非隐藏媒体查询类触发JS事件?

Javascript 如何仅为非隐藏媒体查询类触发JS事件?,javascript,jquery,responsive-design,event-handling,dom-events,Javascript,Jquery,Responsive Design,Event Handling,Dom Events,对于手机和桌面(媒体查询),我几乎没有相同类名的输入html标记 有时,$(“.className”).val()是空的,因为它从隐藏的html标记中获取值 $(“.className”).val()应仅从非隐藏的html标记中获取值 Html- <div class="mobileDiv"> <input type="text" class="searchItem"> <input t

对于手机和桌面(媒体查询),我几乎没有相同类名的输入html标记

有时,
$(“.className”).val()
是空的,因为它从隐藏的html标记中获取值

$(“.className”).val()
应仅从非隐藏的html标记中获取值

Html-

  <div class="mobileDiv">
    <input type="text" class="searchItem">
    <input type="text" class="searchCategory">
  </div>

  <div class="desktopDiv">
    <input type="text" class="searchItem">
    <input type="text" class="searchCategory">
  </div>

如何实现这一点?

使用
$(“.searchItem”)。val()
将始终返回在页面中找到的第一个值

在事件处理函数
中,这是事件实际发生的元素

$(document).on('keyup','.searchItem',function()){
设val=$(this.val()
console.log(val)
});
input.mobileDiv{display:none}


ok
仅获取
searchItem
类的值。如果我想在
searchItem
事件中获取其他类值怎么办?比如什么?你需要更具体一些,因为问题中没有提到类似的内容。我稍微修改了一下问题。您可以查看一下吗?您可以包括
:visible
选择器或用于建议
$('.className:visible').val()
它可以工作。请修改您的答案,以便我可以接受您的答案:)
// Same code is shared for both mobile and desktop

$(document).on('keyup', '.searchItem', function() {
  val = $(".searchItem").val() 
  categoryVal = $(".searchCategory")

  // cannot use "this" because other class values are also needed on this event
});