要获取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']")
是一个使用 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'
子字符串。
如果你想要基于之前的 $("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()
方法将属性值转换为小写形式进行比较。