通过多个名称查找元素jQuery

时间:2018-07-18 10:19:38

标签: javascript jquery html checkbox

我有这4个复选框,我想在jQuery中按其名称查找它们。 有什么办法可以按名称查找所有4个复选框吗?

<input type="checkbox" value="1" id="RangeFlexionRightSide1" name="RangeFlexionRightSide">
<input type="checkbox" value="2" id="RangeFlexionRightSide2" name="RangeFlexionRightSide">

<input type="checkbox" value="1" id="ManualFlexionRightSide1" name="ManualFlexionRightSide">
<input type="checkbox" value="2" id="ManualFlexionRightSide2" name="ManualFlexionRightSide">

我正在尝试以下代码,但未得到结果:

$("input[name^='Range Manual']").length

$("input[name^='Range,Manual']").length

$("input[name^='Range'][name^='Manual']").length

3 个答案:

答案 0 :(得分:4)

是的,您可以使用选择器$=结尾,例如:

$("input:checkbox[name$='FlexionRightSide']").length

或者使用以^=开头的选择器,例如:

$("input:checkbox[name^='Range'],input:checkbox[name^='Manual']").length

注意::您可以给他们一个普通的班级,然后使用班级选择器.轻松地选择它们:

$('.common_class').length

console.log($("input:checkbox[name$='FlexionRightSide']").length); //4
console.log($("input:checkbox[name^='Range'],input:checkbox[name^='Manual']").length); //4
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" value="1" id="RangeFlexionRightSide1" name="RangeFlexionRightSide">
<input type="checkbox" value="2" id="RangeFlexionRightSide2" name="RangeFlexionRightSide">

<input type="checkbox" value="1" id="ManualFlexionRightSide1" name="ManualFlexionRightSide">
<input type="checkbox" value="2" id="ManualFlexionRightSide2" name="ManualFlexionRightSide">

答案 1 :(得分:0)

您可以使用*=进行操作,这将检查名称是否包含传递的值。

或者您也可以使用^=进行操作,如下所示。

在jQuery选择器中

  • [name^='Range']-在^=中查找其nameRange开头的元素。
  • [name$='Range']-在$=中查找其nameRange结尾的元素。
  • [name*='Range']-在*=中查找其name包含Range的元素。

详细了解jQuery Selector here.

console.log($("input[name^='Range'], input[name^='Manual']").length);
console.log($("input[name*='RightSide']").length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" value="1" id="RangeFlexionRightSide1" name="RangeFlexionRightSide">
<input type="checkbox" value="2" id="RangeFlexionRightSide2" name="RangeFlexionRightSide">

<input type="checkbox" value="1" id="ManualFlexionRightSide1" name="ManualFlexionRightSide">
<input type="checkbox" value="2" id="ManualFlexionRightSide2" name="ManualFlexionRightSide">

答案 2 :(得分:-1)

我想这就是您所需要的:

$("input[name^='Range'],input[name^='Manual']").length