jQuery - contains() - 仅搜索完全匹配变量
jQuery - contains() - search only full match variables
我可以只使用 100% 匹配的 jQuery contains() 变量吗?
例如,我有这样的东西:
<div>Test</div>
<div>Tester</div>
当我使用时:
$('div:contains("Test")').length
我得到了两个结果,但我只想得到与我在 contains() 函数中使用的字符串完全匹配的结果。有没有类似于 contains() 但只能得到完全匹配结果的函数?
我知道,我可以这样做:
for(i = 0; i < obj.length; i++)
{
if ( obj[i].innerText == 'Test' )
{
alert('Thats it! obj[i]');
}
}
但问题是当我想检查搜索到的 div 是否可见时。当我使用:
obj[1].is(':visible');
我得到了:
TypeError: $(...)[1].is is not a function
但是当我使用时:
obj.is(':visible')
我得到了:
true
这对我来说是个问题,因为我只需要检查 div 其中包含:仅 "Test"。
是否可以只搜索完全匹配的结果?
谢谢。
很遗憾,jQuery 中没有 "exact match" 选择器。一种简洁的表达方式是 filter
:
$('div').filter(function() {return $(this).text() === 'Test';}).is(':visible')
我可以只使用 100% 匹配的 jQuery contains() 变量吗? 例如,我有这样的东西:
<div>Test</div>
<div>Tester</div>
当我使用时:
$('div:contains("Test")').length
我得到了两个结果,但我只想得到与我在 contains() 函数中使用的字符串完全匹配的结果。有没有类似于 contains() 但只能得到完全匹配结果的函数?
我知道,我可以这样做:
for(i = 0; i < obj.length; i++)
{
if ( obj[i].innerText == 'Test' )
{
alert('Thats it! obj[i]');
}
}
但问题是当我想检查搜索到的 div 是否可见时。当我使用:
obj[1].is(':visible');
我得到了:
TypeError: $(...)[1].is is not a function
但是当我使用时:
obj.is(':visible')
我得到了:
true
这对我来说是个问题,因为我只需要检查 div 其中包含:仅 "Test"。
是否可以只搜索完全匹配的结果?
谢谢。
很遗憾,jQuery 中没有 "exact match" 选择器。一种简洁的表达方式是 filter
:
$('div').filter(function() {return $(this).text() === 'Test';}).is(':visible')