可选类型的jQuery选择器

时间:2016-09-21 05:55:24

标签: javascript jquery

此jQuery选择器尝试匹配具有以下任何类型的input个元素[text | number | email | tel] 它无法匹配元素。怎么做到呢? THX

$('input[type="text"][type="number"][type="email"][type="tel"]')

3 个答案:

答案 0 :(得分:2)

您需要使用逗号分隔选择器:

$('input[type="text"], input[type="number"], input[type="email"], input[type="tel"]')

另一种选择是:

$('input[type="text"], input[type="number"], input[type="email"], input[type="tel"]')

答案 1 :(得分:1)

有这样的事情:

AllowMultiple=true

https://api.jquery.com/multiple-selector/

答案 2 :(得分:0)

输入一次只能匹配一种类型。请尝试使用多个选择器。

在下面的案例中,无论哪一个都会被执行。

$('#btn').click(function(){

  console.log($('input[type="text"], input[type="number"], input[type="email"], input[type="tel"]').val());
  
  
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<input type="number" />
<input type="email" />
<input type="tel" />
<button id="btn">Click</button>

如果要获取所有值,只需迭代选择器返回的所有元素

$('#btn').click(function(){

  $('input[type="text"], input[type="number"], input[type="email"], input[type="tel"]').each(function() {
  
    console.log($(this).val());
  });
  
  
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<input type="number" />
<input type="email" />
<input type="tel" />
<button id="btn">Click</button>