jquery获取name包含mc的元素数量 $(“input[name *= ‘mc‘]“) 是什么意思 jQuery 获取 name包含mc和add的元素

2023-12-14 14:49:35

jquery获取name包含mc的元素数量

要获取name属性包含"mc"的元素数量,你可以使用jQuery的属性选择器结合:contains()选择器。下面是一个示例代码:

var count = $('[name]:contains("mc")').length;
console.log(count);

这段代码使用了$('[name]:contains("mc")')选择器来选择所有具有name属性且属性值包含"mc"的元素。然后,通过.length属性获取选择器的元素数量,并将结果存储在count变量中。最后,使用console.log()函数将结果输出到控制台。

请注意,:contains()选择器是区分大小写的,所以它将匹配包含"mc"的子字符串,而不考虑大小写。如果你希望进行不区分大小写的匹配,可以使用.filter()方法来过滤选择结果,并在过滤函数中使用.toLowerCase()方法将属性值转换为小写形式进行比较。以下是一个示例:

var count = $('[name]').filter(function() {
  return $(this).attr('name').toLowerCase().indexOf('mc') !== -1;
}).length;
console.log(count);

这段代码使用了.filter()方法来遍历所有具有name属性的元素,并通过过滤函数来检查属性值是否包含"mc"。在过滤函数中,我们使用.toLowerCase()方法将属性值转换为小写形式,并使用.indexOf()方法检查"mc"是否存在。如果返回值不等于-1,则表示属性值包含"mc",该元素将被计入数量中。最后,通过.length属性获取过滤结果的元素数量,并将结果输出到控制台。

$(“input[name *= ‘mc’]”) 是什么意思

$("input[name *= 'mc']") 是一个使用 jQuery 的选择器表达式。这个选择器的作用是选择页面上所有 name 属性值中包含 'mc' 子字符串的 input 元素。

具体来说:

  • $:这是 jQuery 的别名,表示你正在使用 jQuery。
  • input:表示选择所有的 input 元素。
  • [name]:表示选择所有具有 name 属性的元素。
  • *=:这是一个属性选择器中的匹配操作符,它表示属性值中包含指定的字符串。
  • 'mc':这是你要匹配的字符串。

所以,整个选择器 $("input[name *= 'mc']") 会选择页面上所有 name 属性值中包含 'mc' 子字符串的 input 元素。

例如,如果你的 HTML 页面中有如下元素:

<input name="myName" value="example">
<input name="myNameMC" value="example">
<input name="otherName" value="example">

使用这个选择器 $("input[name *= 'mc']") 会选择到第二个 input 元素,因为它的 name 属性值包含 'mc' 子字符串。

jQuery 获取 name包含mc和add的元素

如果你想要基于之前的 $("input[name *= 'mc']") 选择器进行修改,以选择 name 属性同时包含 “mc” 和 “add” 的元素,你可以使用多个属性选择器进行组合。以下是一个示例代码:

var elements = $("input[name*='mc'][name*='add']");

console.log(elements.length); // 输出符合条件的元素数量

这段代码使用了多个属性选择器进行组合,$("input[name*='mc'][name*='add']") 会选择 name 属性同时包含 “mc” 和 “add” 的 input 元素。然后,通过 .length 属性获取选择结果的元素数量,并使用 console.log() 函数输出结果。

请注意,属性选择器是区分大小写的,所以它将匹配包含 “mc” 和 “add” 的子字符串,而不考虑大小写。如果你希望进行不区分大小写的匹配,可以改用 .filter() 方法进行过滤,并在过滤函数中使用 .toLowerCase() 方法将属性值转换为小写形式进行比较。

文章来源:https://blog.csdn.net/Rockandrollman/article/details/134994047
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。